上一篇文章介绍了如何使用阿里云的PolarDB-X的中间件进行分库分表的操作,这篇文章我们将介绍,如何使用阿里云的RocketMQ中间件,进行消息的通知和处理。
之前的项目都是自己搭建的RabbitMQ,虽说没什么太大问题,但是碰到一些问题或者bug时,也需要运维去排查,增加运维工作量,我这里推荐使用阿里云的RocketMQ中间件来替代自己搭建的MQ。
一、RocketMQ的优点
消息队列 RocketMQ 版是阿里云基于 Apache RocketMQ 构建的低延迟、高并发、高可用、高可靠的分布式消息中间件。
1、稳定性强
是阿里巴巴双十一官方指定消息产品,支撑阿里巴巴集团所有的消息服务,历经十余年高可用与高可靠的严苛考验,是阿里巴巴交易链路的核心产品;
2、性能高
历年双 11 购物狂欢节零点千万级 TPS、万亿级数据洪峰,创造了全球最大的业务消息并发以及流转纪录(日志类消息除外);在始终保证高性能前提下,支持亿级消息堆积,不影响集群的正常服务;
3、丰富的消息类型
提供丰富的消息类型,满足各种严苛场景下的高级特性需求,当前支持的消息类型涵盖普通消息、顺序消息、分布式事务消息、定时消息/延时消息;
4、安全性高
以消息主题、订阅组的粒度,对每一条消息的收、发请求都进行严格的访问控制,确保消息的安全性; 全面支持阿里云 RAM 主子账号、黑白名单、STS 等功能,支持 TLS 传输加密协议、阿里云 VPC 访问等;
5、提供完善的运维配套机制
提供一整套完整的、金融级的产品运维工具,帮助用户快速发现、处理系统问题;包括:消息查询、全链路消息轨迹、消息回溯、监控告警、Open API(RESTful)等;
二、RocketMQ的使用
上面说了这么多优点,接下来就看看如何使用了。
1、在阿里云控制台开通RocketMQ中间件产品
2、创建实例,创建Group,创建Topic,接入业务
1)创建实例
选择实例类型,输入名称、描述,选择地域,这里为了测试方便,选择公网,付费都是按量付费的。
2)创建Group
点击创建Group按钮,输入Group ID和描述即可完成创建。
3)创建Topic
输入Topic的名称,描述,最重要的就是要明确当前Topic的消息类型是什么,一共有5种消息类型,在这里我们先选择普通消息。
4)快速体验
点击快速体验,可以在控制台中立即发送消息,发送成功后可以查看消息轨迹。
5)代码方式实现
第一步:项目中添加Maven依赖;
第二步:添加一个配置文件RocketMQConfig文件,用于Springboot启动时,自动注入一些配置数据;
第三步:创建普通消息监听器NormalMessageListener,用于监听消息
第四步:创建消费者客户端
第五步:创建生产者客户端
第六步:创建一个Util工具类,该类封装了发送的方法;
第七步:创建测试类,测试消息队列
去RocketMQ平台查询刚才的消息轨迹,如下图:
通过上面的几个步骤,就可以很简单的实现RocketMQ消息的生产和消费。阿里云除了RocketMQ产品,还有Kafka 版的消息队列,大家有兴趣都可以去试用体验,如果对本文感兴趣,可以在评论中留言,谢谢!