使用阿里云云原生平台对系统进行重构和升级(4)——使用阿里云的RocketMQ中间件,进行消息的通知和处理

        上一篇文章介绍了如何使用阿里云的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,接入业务

简单4步,即可使用RocketMQ

        1)创建实例

        选择实例类型,输入名称、描述,选择地域,这里为了测试方便,选择公网,付费都是按量付费的。

创建Rocket MQ实例

        2)创建Group

        点击创建Group按钮,输入Group ID和描述即可完成创建。

创建Group
创建TCP协议的Group

        3)创建Topic

点击创建Topic
创建Topic界面

        输入Topic的名称,描述,最重要的就是要明确当前Topic的消息类型是什么,一共有5种消息类型,在这里我们先选择普通消息。

        4)快速体验

        点击快速体验,可以在控制台中立即发送消息,发送成功后可以查看消息轨迹。

体验消息生产和消费
消息发送成功
查询消息轨迹结果

        5)代码方式实现

        第一步:项目中添加Maven依赖;

Maven依赖

        第二步:添加一个配置文件RocketMQConfig文件,用于Springboot启动时,自动注入一些配置数据;

创建RocketMqConfig配置文件
bootstrap.yml文件中配置rocketmq

        第三步:创建普通消息监听器NormalMessageListener,用于监听消息

监听器

        第四步:创建消费者客户端

消费者客户端

        第五步:创建生产者客户端

生产者客户端

        第六步:创建一个Util工具类,该类封装了发送的方法;

Util工具类

        第七步:创建测试类,测试消息队列

创建Controller,在postman中调用测试
控制台返回发送成功的消息

        去RocketMQ平台查询刚才的消息轨迹,如下图:

查询发送的消息
消息轨迹详情

        通过上面的几个步骤,就可以很简单的实现RocketMQ消息的生产和消费。阿里云除了RocketMQ产品,还有Kafka 版的消息队列,大家有兴趣都可以去试用体验,如果对本文感兴趣,可以在评论中留言,谢谢!

你可能感兴趣的:(使用阿里云云原生平台对系统进行重构和升级(4)——使用阿里云的RocketMQ中间件,进行消息的通知和处理)