美文网首页
RabbitMQ使用场景

RabbitMQ使用场景

作者: itfanszhao | 来源:发表于2020-04-01 15:06 被阅读0次

    1 项目中使用场景

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

    2 串行方式:

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

    3 消息队列异步处理

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

    生产者代码:

    消费者代码:

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

    相关文章

      网友评论

          本文标题:RabbitMQ使用场景

          本文链接:https://www.haomeiwen.com/subject/schauhtx.html