欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

RocketMQ原理解析-Setup

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

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


3. 停止
    到MQ的bin/目录:
   
  • 关闭broker: sh mqshutdown broker 或先执行sh mqadmin wipeWritePerm -b brokerName -n namesrvAddr再sh mqshutdown broker。
  • 关闭namesrv: sh mqshutdown namesrv.

4. 物理部署
    可参考以下部署图,将MQ部署为MM,MS等结构:
RocketMQ原理解析-Setup
            
    
    博客分类: RocketMQ 消息中间件RocketMQ mq MQ

5. 物理部署解释
  • 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订阅。

  • RocketMQ原理解析-Setup
            
    
    博客分类: RocketMQ 消息中间件RocketMQ mq MQ
  • 大小: 66.7 KB