本文目录
1 将2.2.5-RocketMQ-RC.RELEASE整合到最新版中
2 Spring Cloud Alibaba为什么要整合RocketMQ
3 总结
Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案,它是Spring Cloud组件被植入Alibaba元素之后的产物。利用Spring Cloud Alibaba,可以快速搭建微服务架构并完成技术升级。中小企业如果需要快速落地业务中台和技术中台,并向数字化业务转型,那Spring Cloud Alibaba绝对是一个“神器”。
目前Spring Cloud Alibaba最新版本为2.2.7.RELEASE,下面来带着大家看看这个版本的新特性。
1 将2.2.5-RocketMQ-RC.RELEASE整合到最新版中
在非正式版本2.2.5-RocketMQ-RC.RELEASE中,Spring Cloud Alibaba已经重构了spring-cloud-starter-bus-rocketmq和spring-cloud-starter-stream-rocketmq组件,但是对软件开发人员是零侵入的。
重构的主要原因是RocketMQ版本升级太快,导致它的客户端RocketMQ Client升级也很快,这样Spring Cloud Alibaba也需要快速的响应对新版本的依赖,这样才能快速的让软件开发人员使用RocketMQ最新版本的新特性,这样Spring Cloud Alibaba就需要频繁的发布小版本,不利于社区代码版本的控制。
重构功能主要包括如下内容:
- Spring Cloud Alibaba强依赖了RocketMQ官方提供的rocketmq-spring-boot-starter组件,它是一个依赖Spring Boot和RocketMQ Client的组件,这样Spring Cloud Alibaba只能将这个组件中的RocketMQ的功能Alibaba化,无法优雅的扩展新的特性。在2.2.5-RocketMQ-RC.RELEASE版本中,去掉了对rocketmq-spring-boot-starter组件的强依赖,将封装RocketMQ Client的组件的核心功能Alibaba化;
- 修复了RocketMQ消息失败的case;
- 支持批量消费;
- 支持异步消息回调处理;
- 支持MessageConverter机制;
- 支持自定义CustomizedTraceTopic;
- 支持自定义消费最大重试次数;
- 支持Push模式下指定消费的起始位置;
- 支持自定义延迟消息的消息等级(定时消息需要自行通过header处理);
- 支持阿里云RocketMQ;
- 支持自定义负载均衡策略、消息监听器、事务监听器等;
2 Spring Cloud Alibaba为什么要整合RocketMQ
Spring Cloud Alibaba为了弥补Spring Cloud中RocketMQ的空白才整合了RocketMQ,这样软件开发人员就可以使用Spring Cloud Alibaba作为基础框架,去使用RocketMQ、Kafka以及RabbitMQ等分布式消息中间件,最终目的是为了给软件开发提效。
3 总结
Spring Cloud Alibaba是落地微服务架构必备的神器,只有在实际的业务项目中落地它,才能充分的发挥它的价值。
本公众号后续文章会用尽量少的文字来带着大家拓展新的技术,言简意赅是文章的特色,要让读者不能白读文章。
知识输出是笔者的初衷,借助知识输出,能够认识更多的牛人,能够和牛人沟通,也是自己技术提升的一个机会。
下一期:开启35岁程序员数据结构和算法认知系列