消息队列的应用可以说是业务必备的。从功能来说,解耦、异步化、延迟队列、削峰等等;在之前的项目中就用到了rabbitmq来实现消息中心、业务的异步解耦。我个人很推从的就是业务的异步解耦能力。当时的业务场景是客户在界面上可以批量提交数据,但是服务端要做校验,数据处理,入库等等系列操作,其中的校验与数据处理比较耗时。一开始前端响应很慢,后面我提议基于消息队列的异步功能与业务解耦功能,引入rabbitmq,前端传来的数据做完校验后,直接投递到消息队列,分发到各个业务模块处理,最后合并返回。虽然逻辑上可能有点复杂,但是解耦且对客户友好;而且可以很方便快捷的引入其他业务模块。
基于rabbitmq分析消息队列概览如下