消息中间件的定义

消息中间件的作用
消息中间件可利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,可以在分布式环境下扩展进程间的通信。
通过消息中间件,应用程序或组件之间可以进行可靠的异步通讯,从而降低系统之间的耦合度,提高系统的可扩展性和可用性。
应用程序A与应用程序B通信使用消息通信,可以异步通讯,即应用程序A不管应用B是否正常,只要消息中间件是正常的就OK了,如果应用程序B不正常,消息中间件会把应用程序A发给应用程序B的消息先缓存起来,等应用程序B正常,再交给应用程序B处理,此也可以解决分布式事务问题。

不使用消息中间件的分布式中得同时调用好多个服务,也依赖多个服务,耦合度高,同样,串联下的业务,可能存在等待时间,出现异常,数据的一致性很难保证
消息中间件在分布式系统中的作用介绍
JMS消息模型
1.点对点或队列模型

JMS点对点队列模型特点:
1、消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息
2、消息被消费以后,queue中再有的存储,所以消息消费者不可能消费到已被消费的消息。
3.Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费
JMS消息模型
发布者/订阅者模型

JMS 发布/订阅模型特点
消息生产者(发布)将消费发到topic中,同时有个多个消息消费者(订阅)消费该消息
发布到topic的消息会被所有订阅者消费
实现了JMS规范的消息中间件产品
ActiveMQ、RocketMQ、RabbitMQ、HornetQ.....
MQ对比与选择
出处:https://blog.youkuaiyun.com/uxiAD7442KMy1X86DtM3/article/details/80578304
本文详细介绍了消息中间件如何通过提供高效可靠的消息传递机制,促进分布式系统中的平台无关数据交流,以及其在降低系统耦合度、提高可扩展性和可用性方面的重要作用。同时,对比了使用与不使用消息中间件时分布式系统的特点,阐述了其在解决分布式事务问题上的优势。
5万+

被折叠的 条评论
为什么被折叠?



