接触 kafka 有一段时间了,一个人的力量实在有限,国内 rocketmq 的生态确实更好,决定换方向。

rocketmq 文档地址:http://rocketmq.cloud/zh-cn/docs/bestpractice-broker.html

windows 环境下测试,

启动 nameserver:

mqnamesrv.cmd -n localhost:9876

启动 broker:

mqbroker.cmd -n localhost:9876

创建 topic,创建的 topic 默认 8 个分区:

mqadmin.cmd updateTopic -n localhost:9876 -b localhost:10911 -t TopicTest

查看 topic 分区信息:

mqadmin.cmd topicStatus -n localhost:9876 -t TopicTest

根据分区 offset 查询消息:

mqadmin.cmd queryMsgByOffset -n localhost:9876 -b zhang -i 0 -o 30 -t TopicTest

 

windows 单机部署 2m

----------- broker-a.propertes
listenPort=10911
namesrvAddr=localhost:9876
storePathRootDir=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store
storePathCommitLog=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store\\commitlog


----------- broker-b.propertes
listenPort=20911
namesrvAddr=localhost:9876
storePathRootDir=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store2
storePathCommitLog=D:\\tools\\rocketmq-all-4.3.2-bin-release\\store2\\commitlog

启动

mqbroker.cmd -c ../conf/2m-noslave/broker-a.properties
mqbroker.cmd -c ../conf/2m-noslave/broker-b.properties

 集群环境下,创建 topic:

mqadmin.cmd updateTopic -n localhost:9876 -c DefaultCluster -t topic-zhang

这样会在 2 个 master 上分别创建 8 个分区。代码逻辑在 org.apache.rocketmq.tools.command.topic.UpdateTopicSubCommand#execute 中。

posted on 2019-08-19 11:15  偶尔发呆  阅读(201)  评论(0编辑  收藏  举报