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

为何使用消息队列

作者: 禾叶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是消费者,消费者从消息队列中获得消息。

相关文章

  • 为何使用消息队列

    1.解耦 我们知道要完成一个项目需要封装很多的类,创建类的对象,然后类之间有许多的调用或引用的关系(也可以称为依赖...

  • 消息队列应用-使用异步队列就解耦了吗

    消息队列作用一文介绍了为什么要使用消息队列。我们再来讨论下如何有效使用消息队列。 消息队列模式 目前主流消息队列主...

  • Kafka常见问题解决

    概要:我们使用消息队列,就需要知道为什么要用消息队列,什么场景需要用消息队列,使用消息队列能带来哪些好处和消息队列...

  • 分布式之消息队列复习精讲!

    前言 复习要点 本文大概围绕如下几点进行阐述: 为什么使用消息队列? 使用消息队列有什么缺点? 消息队列如何选型?...

  • 分布式之消息队列复习精讲

    引言 复习要点 本文大概围绕如下几点进行阐述: 为什么使用消息队列?使用消息队列有什么缺点?消息队列如何选型?如何...

  • RabbbitMQ RabbitListener 使用IP动态队

    在RabbitMQ消息队列使用 @RabbitListener 接收消息,队列名称使用常量命名,但是如果使用动态队...

  • 信息队列

    消息队列 (1)为什么使用消息队列啊?消息队列有什么优点和缺点啊?kafka、activemq、rabbitmq、...

  • 面试官心理分析+面试题剖析:消息队列+Redis 缓存+分布式系

    消息队列 1、为什么使用消息队列?消息队列有什么优点和缺点?Kafka、ActiveMQ、RabbitMQ、Roc...

  • 关于MQ,你必须知道的

    OK那么消息队列MQ有什么套路呢? 使用消息队列场景和好处 使用消息队列会带来什么问题,有什么解决方案 如何使用M...

  • 消息队列使用

    消息队列介绍 消息队列主要是为了就解决生产者和消费者之间的通信问题,生产者先将消息投递一个叫做「队列」的容器中,而...

网友评论

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

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