-
Notifications
You must be signed in to change notification settings - Fork 0
Quick start
git clone https://github.com/alibaba/RocketMQ.git
cd rocketmq
sh install.sh
cd devenv
或者下载最新的安装包
Producer、Consumer、Broker都可以分布式部署。Producer、Consumer通过Name Server来寻找Broker,Broker启动后,会定时将要发布的Topic注册到Name Server。
-
Broker如何指定Name Server地址(下面方式任选一种即可,优先级按照高低顺序排序)?
-
启动Broker时,命令行方式指定
mqbroker -n 192.168.0.1:9876;192.168.0.2:9876
-
通过环境变量指定
export NAMESRV_ADDR=192.168.0.1:9876;192.168.0.2:9876
-
-
Producer/Consumer如何指定Name Server地址(下面方式任选一种即可,优先级按照高低顺序排序)?
-
通过代码中指定
producer.setNamesrvAddr("192.168.0.1:9876;192.168.0.2:9876");
或
consumer.setNamesrvAddr("192.168.0.1:9876;192.168.0.2:9876");
-
通过Java启动参数中指定
-Drocketmq.namesrv.addr=192.168.0.1:9876;192.168.0.2:9876
-
通过环境变量指定
export NAMESRV_ADDR=192.168.0.1:9876;192.168.0.2:9876
-
-
Name Server部署方式
Name Server是一个几乎无状态、轻量的名称服务中心(源码小于1000行),部署非常简单,直接通过命令行启动即可,为保证可靠,可在多台机器启动多个实例。
nohup mqnamesrv &
-
在生产环境部署,请参考以下软硬件要求
https://github.com/alibaba/RocketMQ/wiki/system_requirements
-
启动Name Server
nohup sh mqnamesrv &
-
启动Broker、Producer、Consumer之前请设置环境变量
export NAMESRV_ADDR=127.0.0.1:9876
-
启动Broker
nohup sh mqbroker &
-
然后尝试收发消息
P.S: 单台机器限制同时启动多个JVM实例
P.S: 如果使用Eclipse,设置完环境变量,需要重启Eclipse才能生效
P.S: 目前版本只支持JDK1.6,高版本暂时不支持(会报NoSuchMethodException)