一、简介
RocketMQ是阿里旗下的一款产品,分为开源版本和非开源版本。相比于ActiveMQ,RocketMQ支持顺序消费、事务机制、失败重试机制、消息可查询、消息订阅、较强的水平扩展能力、亿级堆积能力以及友好的消息拉取模式。RocketMQ的开源社区比较活跃,经受过双十二的考验。(架构师杨正坤:oceanBase)
在这里,我们用nameServer来替代zookeeper,nameServer不遵循JMS,有一些ActiveMQ中没有涉及到的专业术语需要了解一下:
- push consumer
- pull consumer
- producer group 一类producter的集合
- consumer group 一类consumer名称
- broker:消息中转
- 广播消息
- 发布订阅模式:RocketMQ中只有这一种模式,只是有基于一个还是多个之说
- 集群消息
- message Filter:java代码上传
- message persistence:仅支持kafka和RocketMQ这两种持久化
- RocketMQ是无界的
- 带有消息过滤


二、搭建
2.1 几种模式
- 单master(基本不用)
- 多master多slave(不常用)
- 多master模式(常用,大部分场景可以满足)
- 异步复制:向master发送成功就返回给应用表名成功
- 同步双写:数据和服务都无单点,可靠性很高,向master和slave都发送成功才告诉应用成功
2.2 步骤
- host配置
- 上传解压rocketmq压缩包
- 创建两台机器的存储路径
../store
../store/comitlog
../store/consumequeue
../sotre/index
- 修改 broker-a.properties <-- master1
broker-b.properties <-- master2
可清掉默认配置
brokerClusterName都一样
brokerName=broker-a
brokerId=0表示master
- 修改日志文件
- 修改启动参数(JVM调优)
runbroker.sh 最小堆是1g
runserver.sh
48.rocketMQ
原文:http://www.cnblogs.com/sigm/p/6675561.html