【为什么使用RocketMq】
1、应用解耦
2、流量削峰
3、消息分发
4、保证最终一致性
5、方便动态扩容
【RocketMq的角色】
producer
consumer
Broker
NameServer
broker配置文件:
#nameServer 地址,分号分割
namesrvAddr=192.168.100.131:9876;192.168.100.132:9876
#所属集群的名字
brokerClusterName=RocketMq-Cluster
#broker名字,Master和Slave通过使用相同的Broker名称来表明相互关以说明某个Slave是哪个Master的Slave
brokerName=broker-a
#0表示master,>0表示slave
brokerid=0
#删除文件时间点,默认是凌晨4点
deleteWhen=04
#文件保留时间,默认48小时,自动删除超时的消息;commitLog每个文件的大小默认1G
fileReservedTime=48
#Broker 的角色 ASYNC_MASTER 异步复制Master;SYNC_MASTER 同步双写Master
brokerRole=SYNC_MASTER
#刷盘方式ASYNC_FLUSH 异步刷盘消息写入page_cache就返回成功状态;SYNC_FLUSH 同步刷盘,消息真正写入磁盘再返回成功状态
flushDiskType=ASYNC_FLUSH
listenPort=10911
#日志存放位置
storePathRootDir=/home/rocketmq/store-a
#限制的消息大小
maxMessageSize=65536
flushCommitLogLeastPages=4
flushConsumeQueueLeastPages=2
flushCommitLogThoroughInterval=10000
flushConsumeQueueThoroughInterval=60000
【创建topic】
# -b broker地址;-c Cluster名称;-n nameserver地址列表;-t topic名称
updateTopic -b 192.168.0.1:10911 -c RocketMq-Cluster -n 192.168.0.1:9876;192.168.0.2:9876 -t order-topic
【删除topic】
deleteTopic -c RocketMq-Cluster -n 192.168.0.1:9876;192.168.0.2:9876 -t order-topic
【创建/修改订阅组】
#订阅组名称
updateSubGroup -b 192.168.0.1:10911 -c RocketMq-Cluster -g subGroupName -n 192.168.0.1:9876;192.168.0.2:9876
【删除订阅组】
deleteSubGroup -b 192.168.0.1:10911 -c RocketMq-Cluster -g subGroupName -n 192.168.0.1:9876;192.168.0.2:9876
【更新broker配置】
#某些配置文件broker运行的时候可以动态修改,-k broker配置文件的key -v value
updateBrokerConfig -b 192.168.0.1:10911 -c RocketMq-Cluster -n 192.168.0.1:9876;192.168.0.2:9876 -k deleteWhen -v 05
【更新topic的读写权限】
updateTopicPerm -b 192.168.0.1:10911 -c RocketMq-Cluster -n 192.168.0.1:9876;192.168.0.2:9876 -t order-topic
【查询topic路由信息】
TopicRoute -b 192.168.0.1:10911 -c RocketMq-Cluster -n 192.168.0.1:9876;192.168.0.2:9876 -t order-topic
【查看topic路由信息】
TopicList -n 192.168.0.1:9876;192.168.0.2:9876
【查看topic状态统计信息】
TopicStats -t order_topic -n 192.168.0.1:9876;192.168.0.2:9876
【根据时间查询消息】
printMsg -t order_topic -n 192.168.0.1:9876;192.168.0.2:9876
【根据Id查询消息】
queryMsgById -i msgId -n -n 192.168.0.1:9876;192.168.0.2:9876
【查看集群信息】
clusterList -n 192.168.0.1:9876;192.168.0.2:9876
【rocketmq图形界面项目地址】
https://github.com/apache/rocketmq-externals/tree/master/rocketmq-console
#进入源码目录
mvn spring-boot:run
http://localhost:8080/即可查看