RocketMQ是阿里巴巴于2012年开源的国产分布式消息中间件,后捐赠给Apache软件基金会。它有如下特点:
- 扩展性灵活。其四大核心组件【NameServer、Broker、Producer、Consumer】,每个都可以在没有单点故障的情况下水平扩展
- 采用零拷贝原理实现了海量消息堆积能力
- 支持顺序消息。分为全局有序消息和局部有序消息,一般推荐使用局部有序消息,即在同一个队列中实现。
- 支持多种消息过滤方式。分为服务端消息过滤和消费端消息过滤
- 支持事务消息
- 支持回溯消费。支持按照时间回溯消费,时间维度精确到毫秒,可以向前回溯,也可以向后回溯。
下面部署测试下:
1. 下载安装启动
这里下载的是4.7.0版本的:
1.1 启动NameServer
看看日志确认下,启动成功:
如果停止,执行如下命令即可:
1.2 启动Broder
启动失败,看看错误:
内存不足,修改下文件runbrocker.sh,如下:
修改为:
再次启动,启动成功:
2. 安装控制台
2.1 下载rocker-mq-console源码, 修改配置文件
2.2 编译
注意,使用OpenJDK打包会由于SSL问题,打包失败,切换OracleJDK就没问题了。
2.3 启动
RocketMQ搭建完成,下次再写下spring boot连接rocketmq进行消息的发送与接收处理了。