入门
为什么用
Kafka 缺点 topic多了会影响性能
所以就对kafka多 topic 性能做了提升
运行单机
修改环境变量
在个人电脑上测试的时候注意需要修改:
添加2个环境变量
NAMESRV_ADDR : localhost:运行的端口(默认:9876)
修改一个配置文件
conf/broker.conf
新增一行 autoCreateTopicEnable=true
启动
修改JVM参数:
runserver.cmd/sh
这里测试用的话512M即可
runbroker.cmd/sh
broker的默认配置为8g
启动 mqnamesrv.cmd
### 在rocketMq住目录后台启动namesrv
$ nohup sh bin/mqnamesrv &
### 验证namesrv是否启动成功
$ tail -f nohup.out
### 如果有The Name Server boot success.则启动成功
启动 mqbroker.cmd
### 先启动broker proxy默认端口:8080 broker默认端口:10911
$ nohup sh bin/mqbroker -n localhost:9876 --enable-proxy &
#日志中打印 rocketmq-proxy startup successfully 则为启动成功
如果需要修改broker的默认端口
# 修改 conf/broker.conf 文件 添加
listenPort=对应的端口
# 重新启动需要指定配置文件 可以使用不带proxy启动
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &
#日志中打印 The broker[broker-a, brokerIp:brokerPort] boot success 则为启动成功
工具测试发消息
## 利用环境变量NAMESRV_ADDR 告诉客户端NameServer的地址
$ export NAMESRV_ADDR=localhost:9876
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
工具测试消费消息
$ sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
整体架构
Broker
处理消息收发的服务
NameServer
Broker注册到注册中心
集群环境搭建
修改hosts
三个机器指定一个简单的域名
配置免密
规划集群
注册中心 broker 主从
集群架构
主题状态
由控制台上的内容可知
每个Topic默认每台机器上创建了4个MessageQueue
并且分在在各个broker上
最小位点就是此时清理之后的其实offset
因为第一次还没有开始清理所以为0
最大位点就是一共生产消息的offset
消费管理
列出消费者订阅情况
订阅组就是消费者自己设置的订阅信息, 如果有多个就显示多个表单
代理者位点:在队列上分配消息的offset
消费这位点:在队列上消费消息的offset