消息系统:点对点&发布订阅?

简介: 消息系统:点对点&发布订阅?

消息系统,是系统中负责消息从一个应用传递到另外一个应用,对于应用本身而言,就不需要去关心消息数据的传递过程,只需要关系数据本身即可。


在分布式消息系统中异步的进行消息的传递,存在两种典型模式,那就是点对点消息系统和发布订阅消息系统。


下面我们就来看一下这两种模式各自的特点吧。


点对点消息系统


先不多说,先画图,看的真切。

image.png


如图则是点对点消息系统的一种经典图例,消息传出方将消息数据发送给消息队列,然后由消费者,也就是消息接收方去进行消费;但是这里会存在一个消息只能被消费一次,当一个消息数据被消费后,这个消息数据会在消息队列中消失。


这也是点对点消息系统的特点,因为每个消息数据只能被消费使用一次,所以就避免了重复消费的问题。


发布订阅消息系统


图示如下。


image.png

发布订阅消息系统是大部分分布式企业级系统的优选方案。


发布者将消息数据持久化到数据队列中,准确的说这里不是数据队列了,是Topic,然后由多个订阅者去消费,每个消息数据可以被多个订阅者进行消费。


数据被消费后,不会被topic删除,而且发送到topic中的消息数据可以被所有订阅者消费,这也是发布订阅消息系统和点对点消息系统最本质的区别。


如何选择


这里如果要去对消息队列的模式进行选择,还是要去根据具体场景来进行选择,比如如果你的服务要被多个服务调用,那毋庸置疑的要选择发布订阅消息系统了。


相关文章
|
2天前
|
消息中间件 存储 Cloud Native
揭秘发布订阅模式:让消息传递更高效
揭秘发布订阅模式:让消息传递更高效
揭秘发布订阅模式:让消息传递更高效
|
2天前
|
消息中间件 存储 运维
|
6月前
|
消息中间件 Java Maven
消息中间件系列教程(03) -ActiveMQ -点对点&发布订阅模式
消息中间件系列教程(03) -ActiveMQ -点对点&发布订阅模式
51 0
|
10月前
|
消息中间件 Java Maven
ActiveMQ向消息队列存入消息(点对点模式)
创建一个maven工程, 引入ActiveMQ的依赖
|
7月前
05JMS点对点模式
05JMS点对点模式
22 0
|
7月前
4 # 发布订阅模式
4 # 发布订阅模式
22 0
|
10月前
|
消息中间件 负载均衡 Kafka
Kafka如何实现点对点消息和发布订阅消息?
Kafka 可以同时支持点对点消息和发布订阅消息模型
591 0
|
10月前
EMQ如何实现点对点消息和发布订阅消息?
EMQ(Erlang MQTT Broker)通过 MQTT 协议实现了点对点消息和发布订阅消息两种消息传递模式。
315 2
|
10月前
|
消息中间件
ActiveMQ消费者消费消息(点对点模式)
上篇博客写了生产者生产消息:ActiveMQ向消息队列存入消息
|
消息中间件 大数据 Kafka
分布式消息队列Kafka之发布订阅消息系统
分布式消息队列Kafka之发布订阅消息系统
261 0
分布式消息队列Kafka之发布订阅消息系统