RocketMQ原理解析-Setup

[size=medium]1. 下载[/size]
https://github.com/alibaba/RocketMQ.git
下载后,运行install.sh或install.bat会在target目录下产生alibaba-rocketmq-broker.tar.gz(如果编译过程出现checkstyle不通过,注释掉pom文件的checkstyle plugin),然后解压复制到相应目录。

[size=medium]2. 启动[/size]
到MQ的bin/目录:
[list]
[*]namesrv:nohup sh mqnamesrv >> /opt/ns.log &
[*]broker:nohup sh mqbroker -c ../conf/2m-noslave/broker-X.properties >> /opt/mq.log 2>&1 &
[/list]

[size=medium]3. 停止[/size]
到MQ的bin/目录:
[list]
[*]关闭broker: sh mqshutdown broker 或先执行sh mqadmin wipeWritePerm -b brokerName -n namesrvAddr再sh mqshutdown broker。
[*]关闭namesrv: sh mqshutdown namesrv.
[/list]
[size=medium]4. 物理部署[/size]
可参考以下部署图,将MQ部署为MM,MS等结构:
[img]http://dl2.iteye.com/upload/attachment/0124/2112/5d511d7b-3552-3a0a-ae53-3990f9041494.png[/img]

[size=medium]5. 物理部署解释[/size]
[list]
[*]namesrv无状态,可集群部署,节点之间无任何信息同步。
[*]broker分为master和slave。一个master可以对应多个slave,但一个slave只能对应一个master。master和slave的对应关系通过指定相同的brokerName不同的brokerId进行区分。master可以部署多个。每个broker与namesrv集群中的所有节点建立长连接,定时注册topic信息到namesrv。
[*]slave broker从master broker拷贝消息及订阅关系。
[*]producer与namesrv集群中的一个节点(随机选择)建立长连接,定期从namesrv获取topic路由信息,并与提供topic服务的master broker建立长连接,也就是说消息只会发送到master broker上,且定时向master broker发送心跳。producer无状态,可集群部署。
[*]consumer与namesrv集群中的一个节点(随机选择)建立长连接,定期从namesrv获取topic路由信息,并与提供topic服务的master,slave broker建立长连接,且定时向master,slave发送心跳。consumer即可从master订阅消息,也可从slave订阅。
[/list]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值