RabbitMQ使用场景

1 项目中使用场景

在微服务项目中,一些业务比较复杂,处理时间比较长,但还得需要及时的响应结果给另一方,这就得需要采用异步的方式来处理这种复杂的业务逻辑,先把主要的业务流程走完,另外一些业务借助多线程技术或者使用MQ进行异步处理,比如说我在项目中做过支付这一块,需要支付的同时还需要记录日志,调用别人的积分服务,这就比较耗时,然而第三方支付端(银联,支付宝,微信)需要得到商户端及时的响应,不然的话第三方会一直重试的。因此我在处理这些问题时,才用了RabbitMQ来进行异步处理,提高业务的处理速度。

2 串行方式:

以串行的方式响应给第三发端很可能会超时,会引起第三方端进行重试。

3 消息队列异步处理

引入消息队列后,把处理日志业务逻辑和处理积分的业务逻辑进行异步处理 。由此可以看出,引入消息队列后,响应第三方支付端时间就等于主业务逻辑的时间+写入消息队列的时间(可以忽略不计),引入消息队列后处理后,响应时间比串行的快得多。

生产者代码:

消费者代码:

当然MQ不仅仅用在异步处理提高代码执行效率上,还在应用解耦,流量削峰等等方面。文章有不足之处请多多指正。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、消息队列概述消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高...
    丶Em1tu0F阅读 2,472评论 0 7
  • 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合,异步消息,流量削锋等问题 实现高性能,高可用,可伸缩和最...
    onlyHalfSoul阅读 738评论 1 8
  • 消息队列 什么是消息队列(Message Queue,MQ)呢? 首先回忆下生活中在餐馆点餐的场景,当你点完餐之后...
    JunChow520阅读 3,185评论 0 29
  • 关于消息队列的使用 一、消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋...
    花无重日人未红阅读 284评论 0 1
  • 一、 消息队列概述 消息队列中间件是分布式系统中重要的组件,主要解决应用耦合、异步消息、流量削锋等问题。实现高性能...
    步积阅读 57,538评论 10 138

友情链接更多精彩内容