国产化-消息队列RocketMq(替代kafka)-单节点安装
核心概念
- 消息(Message):RocketMQ 中数据的基本单元,包含消息体、消息属性等信息。消息体是实际需要传输的数据,而消息属性可以用于对消息进行分类、过滤等操作。
- 主题(Topic):消息的逻辑分类,用于区分不同类型的消息。生产者将消息发送到特定的主题,消费者则从感兴趣的主题中获取消息。
- 队列(Queue):主题的物理分区,一个主题可以包含多个队列。队列用于实现消息的负载均衡和并行消费,提高消息处理的效率。
- 生产者(Producer):负责创建并发送消息到 RocketMQ 服务器的应用程序。生产者可以根据业务需求选择不同的发送方式,如同步发送、异步发送和单向发送。
- 消费者(Consumer):从 RocketMQ 服务器获取消息并进行处理的应用程序。消费者可以分为推模式和拉模式,推模式下,RocketMQ 主动将消息推送给消费者;拉模式下,消费者主动从服务器拉取消息。
特点
- 高吞吐量:RocketMQ 采用了多种优化技术,如内存映射文件、零拷贝等,能够支持高并发的消息发送和接收,实现每秒数十万级的消息吞吐量。
- 高可靠性:支持消息的持久化,将消息存储在磁盘上,以防止消息丢失。同时,RocketMQ 具有多副本机制,通过主从复制保证数据的可靠性和高可用性。
- 分布式架构:RocketMQ 采用分布式的架构设计,能够轻松实现集群部署,支持水平扩展,以应对不断增长的业务流量。
- 灵活的消息模型:支持多种消息模型,包括发布 / 订阅模型、点对点模型等,满足不同业务场景的需求。
- 丰富的功能特性:提供了消息过滤、事务消息、顺序消息、定时消息等丰富的功能特性,方便开发者根据具体业务场景进行选择和使用。
安装环境:
环境:centos7.6 JDK 1.8+
1、压缩包解压
压缩包rocketmq-all-5.3.1-bin-release.zip放到/opt/RocketMQ
unzip rocketmq-all-5.3.1-bin-release.zip
安装包获取方式:
(1)老虎网盘资源:http://resources.kittytiger.cn/
(2)搜索:RocketMq安装包
2、 启动NameServer
cd /opt/RocketMQ/rocketmq-all-5.3.1-bin-release/bin
# nohup sh mqnamesrv &
### 验证namesrv是否启动成功
$ tail -f ~/logs/rocketmqlogs/namesrv.log
The Name Server boot success...
注:日志地址/root/logs/rocketmqlogs/namesrv.log
3、启动Broker+Proxy
NameServer成功启动后,我们启动Broker和Proxy。这里我们使用 Local 模式部署,即 Broker 和 Proxy 同进程部署
### 先启动broker
cd /opt/RocketMQ/rocketmq-all-5.3.1-bin-release
nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &
指定配置文件启动,要在conf下有acl文件夹,acl文件夹下要有acl.yml文件
nohup sh bin/mqbroker -n localhost:9876 --enable-proxy -c /opt/RocketMQ/rocketmq-all-5.3.1-bin-release/conf/broker.conf &
默认的配置文件:/opt/RocketMQ/rocketmq-all-5.3.1-bin-release/conf/broker.conf
### 验证broker是否启动成功,
tail -f ~/logs/rocketmqlogs/proxy.log
2025-03-24 11:46:32 INFO main - The broker[broker-a, 192.168.0.100:10911] boot success. serializeType=JSON and name server is localhost:9876
2025-03-24 11:46:32 INFO main - user specified name server address: localhost:9876
2025-03-24 11:46:32 INFO main - grpc server start successfully.
2025-03-24 11:46:32 INFO main - Mon Mar 24 11:46:32 CST 2025 rocketmq-proxy startup successfully
注:端口占用 lsof -i :10911
4、工具测试消息收发
在进行工具测试消息收发之前,我们需要告诉客户端NameServer的地址,RocketMQ有多种方式在客户端中设置NameServer地址,这里我们利用环境变量NAMESRV_ADDR
# export NAMESRV_ADDR=localhost:9876
# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
SendResult [sendStatus=SEND_OK, msgId= ...
# sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
ConsumeMessageThread_%d Receive New Messages: [MessageExt...
5、关闭服务器
完成实验后,我们可以通过以下方式关闭服务
# sh bin/mqshutdown broker
The mqbroker(36695) is running...
Send shutdown request to mqbroker with proxy enable OK(36695)
# sh bin/mqshutdown namesrv
The mqnamesrv(36664) is running...
Send shutdown request to mqnamesrv(36664) OK
--操作
--topic
cd /opt/RocketMQ/rocketmq-all-5.3.1-bin-release/bin
--建立一个TestTopic的topic
[root@minio2 bin]# sh mqadmin updateTopic -n 192.168.0.100:9876 -t TestTopic -c DefaultCluster -a +message.type=NORMAL
create topic to 192.168.0.100:10911 success.
TopicConfig [topicName=TestTopic, readQueueNums=8, writeQueueNums=8, perm=RW-, topicFilterType=SINGLE_TAG, topicSysFlag=0, order=false, attributes={+message.type=NORMAL}]
查看topic列表
sh mqadmin topicList -n 192.168.0.100:9876
国产化-消息队列RocketMq(替代kafka)-单节点安装的更多相关文章
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异
分布式消息服务 Kafka 是一个高吞吐.高可用的消息中间件服务,适用于构建实时数据管道.流式数据处理.第三方解耦.流量削峰去谷等场景,具有大规模.高可靠.高并发访问.可扩展且完全托管的特点,是分布式 ...
- 分布式消息队列RocketMQ与Kafka架构上的巨大差异之1 -- 为什么RocketMQ要去除ZK依赖?
我们知道,在早期的RocketMQ版本中,是有依赖ZK的.而现在的版本中,是去掉了对ZK的依赖,转而使用自己开发的NameSrv. 并且这个NameSrv是无状态的,你可以随意的部署多台,其代码也非常 ...
- 分布式消息队列RocketMQ(一)安装与启动
分布式消息队列RocketMQ 一.RocketMQ简介 RocketMQ(火箭MQ) 出自于阿里,后开源给apache成为apache的顶级开源项目之一,顶住了淘宝10年的 双11压力 是电商产品的 ...
- 基于消息队列 RocketMQ 的大型分布式应用上云最佳实践
作者|绍舒 审核&校对:岁月.佳佳 编辑&排版:雯燕 前言 消息队列是分布式互联网架构的重要基础设施,在以下场景都有着重要的应用: 应用解耦 削峰填谷 异步通知 分布式事务 大数据处理 ...
- Kafka 单节点多Kafka Broker集群
Kafka 单节点多Kafka Broker集群 接前一篇文章,今天搭建一下单节点多Kafka Broker集群环境. 配置与启动服务 由于是在一个节点上启动多个 Kafka Broker实例,所以我 ...
- 主流消息队列rocketMq,rabbitMq比对使用
首先整理这个文章是因为我正好有机会实战了一下rocketmq,阿里巴巴的一个开源消息中间件.所以就与以往中rabbitmq进行小小的比较一下.这里主线的根据常见面试问题进行整理. 一.消息队列常用的场 ...
- vertica单节点安装教程
[准备] 1.CentOS 7.6的镜像盘(下载地址:官网) 2.vertica-9.1.0-0.x86_64.RHEL6(下载地址:https://pan.baidu.com/s/1IjWBUTku ...
- Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...
- hbase伪分布式安装(单节点安装)
hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart 1. 前提配置好java,环境java变量 上传jdk ...
- 二、hdfs单节点安装
一.准备环境 在配置hdfs之前,我们需要先安装好hadoop的配置,本文主要讲述hdfs单节点的安装配置. hadoop的单节点安装配置请参考:https://www.cnblogs.com/lay ...
随机推荐
- 并发编程 - 线程同步(九)之信号量Semaphore
前面对自旋锁SpinLock进行了详细学习,今天我们将学习另一个种同步机制--信号量Semaphore. 01.信号量是什么? 在 C# 中,信号量(Semaphore)是一种用于线程同步的机制,能够 ...
- [JOISC 2023 Day3] Tourism 题解
大家好,我喜欢珂朵莉树,所以我用珂朵莉树 \(AC\) 了本题. 实际上,我们比较容易发现,这题实际上就是求 \([l,r]\) 中的所有点作为关键点时,虚树所压缩的所有点(实际上就是显现出来的点+在 ...
- element-ui实现table表格的嵌套(table表格嵌套)功能实现
最近在做电商类型的官网,希望实现的布局如下:有表头和表身,所以我首先想到的就是table表格组件. 表格组件中常见的就是:标题和内容一一对应:像效果图中的效果,只用基础的表格布局是不行的,因此我想 ...
- Redis 大 Key 分析利器:支持 TOP N、批量分析与从节点优先
背景 Redis 大 key 分析工具主要分为两类: 1. 离线分析 基于 RDB 文件进行解析,常用工具是 redis-rdb-tools(https://github.com/sripathikr ...
- Zookeeper - Zookeeper启动失败,日志报错 Missing election port for server: 2
Missing election port for server: 2 [整理日期]2023年6月1日 [基础环境]JDK 1.8.0_372.Zookeeper 3.4.5 [问题描述]进行部署分布 ...
- 基于ThreeJs的大屏3D地图(二)——气泡图、渐变柱体与热力图
前提 上一篇文章中我们完成了地图区块模型的渲染,在此基础之上本篇来讲解气泡图.3D柱形图以及3D热力图的实现方式. 首先,为了更好的关注点分离及与地图渲染模块的解耦,我们可以把所有类型的可视化元素抽象 ...
- script 标签中 defer 和 async 的区别
https://www.cnblogs.com/huangtq/p/18422775 在 <script> 标签中,defer 和 async 是两个用于控制 JavaScript 脚本加 ...
- C#使用Interlocked实现线程同步
通过System.Threading命名空间的Interlocked类控制计数器,从而实现进程 的同步.Iterlocked类的部分方法如下表: 示例,同时开启两个线程,一个写入数据,一个读出数据 代 ...
- js解析json字符串、对象与json之间的转换
前言 在数据传输流程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键. js解析json字符串 // JSON字符串 'v ...
- codelite常用快捷键积累
博客地址:https://www.cnblogs.com/zylyehuo/ 编译整个工作空间 workplace Ctrl+shift+B 编译当前文件 file Ctrl+F7 编译项目 proj ...