【为何使用RocketMq】java
一、应用解耦git
二、流量削峰github
三、消息分发spring
四、保证最终一致性sql
五、方便动态扩容apache
【RocketMq的角色】异步
producerspring-boot
consumer日志
Brokercode
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/便可查看