消息队列的发布订阅原理

消息队列的发布订阅原理?

订阅原理就是不同系统之间的重合性。Java消息服务(Java Message Service,JMS)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。

消息队列的发布订阅原理 - 汇30资讯

1.1、点对点:Queue,不可重复消费

1.2、发布/订阅:Topic,可以重复消费

消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。


支持订阅组的发布订阅模式:
发布订阅模式下,当发布者消息量很大时,显然单个订阅者的处理能力是不足的。实际上现实场景中是多个订阅者节点组成一个订阅组负载均衡消费topic消息即分组订阅,这样订阅者很容易实现消费能力线性扩展。可以看成是一个topic下有多个Queue,每个Queue是点对点的方式,Queue之间是发布订阅方式。

2、区别

2.1、点对点模式

2.2、发布订阅模式

3、流行模型比较

3.1、RabbitMQ


(2)多订阅
当RabbitMQ需要支持多订阅时,发布者发送的消息通过路由同时写到多个Queue,不同订阅组消费不同的Queue。所以支持多订阅时,消息会多个拷贝。

3.2、Kafka

Kafka只支持消息持久化,消费端为拉模型,消费状态和订阅关系由客户端端负责维护,消息消费完后不会立即删除,会保留历史消息。因此支持多订阅时,消息只会存储一份就可以了。但是可能产生重复消费的情况。

(1)点对点&多订阅
发布者生产一条消息到topic中,不同订阅组消费此消息。

BRXRMR区别?

BRXRMR是英文单词的首字母缩写,其具体含义和区别如下:
BRX(Barix):Barix是一种基于IP的音频传输和控制系统,可用于公共广播、紧急通知和安全通信等领域。它采用MP3和其他音频编解码器来传输音频信号,并支持通过以太网和其他IP网络进行传输和控制。与传统的模拟广播系统相比,BRX具有更高的灵活性和可扩展性,可以根据需要进行远程控制和管理。
RMR(Real-Time Messaging Protocol):RMR是一种实时通讯协议,用于在分布式系统中实现实时、可靠和有序的消息传递。它支持多种传输协议,如TCP、UDP和SSL等,并提供了拥塞控制和流量控制机制,以确保消息传递的可靠性和效率。与传统的消息队列系统相比,RMR具有更高的实时性和可靠性,适用于需要快速响应和高可靠性的应用场景。
综上所述,BRX和RMR是两种不同的技术,分别应用于不同的领域。BRX主要用于音频传输和控制,而RMR主要用于实时消息传递和分布式系统通信。

BRX、RMR、XR在属性、发行方、使用场景和流通性方面存在一些差异。
BRX:基于区块链的数字货币,具有去中心化、透明和不可篡改的特性。BRX币主要用于奖励社区成员,激励他们参与平台上的各种活动。
RMR:通常指Remix Token,是一种基于以太坊区块链的ERC-20代币。RMR通过将音乐版权与区块链技术结合,为音乐行业提供去中心化的版权解决方案。
XR:通常指RChain代币,是RChain区块链网络的原生代币。XR用于支付交易费用、参与网络治理和激励社区成员等。
请注意,BRX、RMR和XR的具体区别可能因不同的语境和领域而异。