美文网首页
为何使用消息队列

为何使用消息队列

作者: 禾叶super | 来源:发表于2020-01-06 17:03 被阅读0次

    1.解耦

    我们知道要完成一个项目需要封装很多的类,创建类的对象,然后类之间有许多的调用或引用的关系(也可以称为依赖),耦合性(耦合度)是对模块间关联程度的度量。模块或类之间的依赖关系,包括控制关系、调用关系、数据传递关系越多,其耦合性越强。解耦就是消除模块间的关系。

    消息中间件为何能做到解耦呢?
    只要能消除类与类之间或模块与模块之间的关系就能做到解耦。
    未使用消息队列:


    image.png

    使用消息队列之后:消除了A模块直接调用B和C模块的关系因此做到了解耦。
    解耦了的应用才是可扩展的。如果新增D模块想要接入系统,不需要修改模块A的调用关系,只需要模块D订阅消息队列即可。

    image.png
    1. 异步

    由于消息队列使用消息通信模式即生产者、消费者模式,这种通信方式是一种“发后即忘(fire-and-forget)”的单向方式,模块A是生产者,模块A把生产的消息发送到消息队列之后,可以继续进行其他的操作,不需要等待其他模块的结果。模块B和C是消费者,消费者从消息队列中获得消息。

    相关文章

      网友评论

          本文标题:为何使用消息队列

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