多语言展示
当前在线:1645今日阅读:23今日分享:25

如何理解分布式消息组件中的相关概念

分布式消息组件组件中有很多概念和术语,需要认真学习理解。
方法/步骤
1

Name Server是一个几乎无状态节点,可集群部署,节点之间无同步信息。它主要提供broker注册、Topic路由管理等功能。

2

Broker是分布式消息中间件核心组件,提供消息生产、消费,主从同步、数据刷盘等核心功能。可以横向扩展、在线扩容以提高集群性能。每个Broker与Name Server集群的所有节点建立长连接,并定时注册Topic等信息。

3

生产者,一般为应用调用API进行消息生产。Producer 与Name Server集群中的其中一个节点(随机选择)建立长连接,定期从Name Server取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向Master发送心跳。Producer 完全无状态,可集群部署。

4

消费者,一般为应用调用API进行消息消费。Consumer与Producer一样,与一个Name Server建立长连接并取Topic路由信息。Consumer与提供Topic服务的Master与Slave建立长连接,既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker 配置决定。

5

在ctg-mq中,topic类似于JMS规范中的队列,所有消息都是存放在不同的topic中,生产都与消费者都以topic名字进行生产与消费。

6

一个Topic可以存在多个broker之中,这样topic就可以分布在不同的broker从而达到分布式的目的。一个Topic下面,可以有多个队列,可以理解成分区,Topic的消息是放在不同队列下的。

7

在ctg-mq中,queue是存放数据的最小单位,queue是存在于topic下面的。在ctg-mq中,queue不同于JMS规范中的队列,可以理解为topic的分区。

推荐信息