spring boot starter for aliYunMQ
项目介绍
消息队列 RocketMQ 是阿里巴巴自研消息产品,服务于整个集团已超过 13 年,经过阿里巴巴交易核心链路反复打磨与历年双十一购物狂欢节的严苛考验,是一个真正具备低延迟、高并发、高可用、高可靠,可支撑万亿级数据洪峰的分布式消息中间件。
本模块实现了阿里云MQ的以下几个功能。
- 同步发送消息
- 异步发送消息
- 广播发送消息
- 有序发送和消费消息
- 发送延时消息
- 消息tag支持
- 自动序列化和反序列化消息体
- 发送事务消息
如何集成
1、添加依赖
1 | <dependency> |
因为我们有自己的maven私库,所以没有po到maven公有库里。配置代码库:
1 | <repositories> |
2、添加配置
1 | aliyun.mq.onsAddr=<地址> |
3、添加生产者
顺序消息
按照消息的发布顺序进行顺序消费(FIFO),支持全局顺序与分区顺序
1 |
|
普通消息,定时消息,延迟消息生产者
消息可在指定的时间点(如2019/01/01 15:00:00)或延迟时间(如30分钟后)进行投递
1 |
|
事务消息
类似 X/Open XA 的分布事务功能,既可做到系统间的解耦,又能保证数据的最终一致性
1 |
|
4、添加订阅者
普通消息订阅者,实现AbstractMessageListener接口
- topic:支持SpringEl风格,取配置文件中的值。(必填)
- tag:标签。* 标识所有。 (必填)
- consumerId:消费者Id。 (必填)
- consumeMode:消费模式 有序(单线程)或者无序(多线程) (默认无序)
1 | (topic = "${aliyun.mq.TopicIdRblc}", tag = "giveCoupon", consumerId = "CID_shopping_giveCoupon", consumeMode = MessageExtConst.CONSUME_MODE_ORDERLY) |
顺序消息订阅者,实现AbstractMessageOrderListener
1 | (topic = "${aliyun.mq.TopicIdRblc}", tag = "giveCoupon", consumerId = "CID_shopping_giveCoupon", consumeMode = MessageExtConst.CONSUME_MODE_ORDERLY) |
5、相关参考
- 官网Demo地址:https://github.com/AliwareMQ/mq-demo