Fork me on GitHub

如何在Spring Cloud项目中优雅的使用Rocket MQ


很多时候,在一个项目诞生的初期,所有的业务都存在同一个服务中。业务之间的交互调用在同一个服务之间就可以快速高效完成,也没有什么高并发、业务解耦的需求要处理。当服务越来越庞大,我们一般会将服务进行垂直拆分,根据不同的功能模块,拆分成多个微服务。然而很多微服务之间的调用有的时候无需数据强一致性或者需要调用另一服务时不要求实时产生结果,完全可以通过异步的方式或者消息队列发送调用请求到下游服务,调用方完成自己的业务之后直接返回。RocketMQ在我们的项目中就扮演这样的角色——业务解耦(除了业务解耦,MQ还可以用来进行流量削峰填谷等功能)。

Rocket MQ介绍

Rocket MQ 是阿里巴巴消息中间件团队开发的一款消息队列服务。其他的类似服务还有 RabbitMQ、ActiveMQ、Kafka等等。阿里原先使用的是MQ 系统可以用来完成异步任务处理、流量削峰填谷、服务之间解耦等功能。

在 RocketMQ 中有两个角色:nameserver、broker 。