rocketmq技术架构图

NameServer、Broker、Producer、Consumer之间如何进行通信,如何工作:

 

NameServer和Broker:

NameServer主要做两件事情,第一就是管理Broker,接受来自Broker集群发送的注册,

以及提供心跳机制来检查我们的Broker是否还存活。第二件事情就是管理路由信息,

每一个NameServer都存储有路由信息和队列信息,提供给Producer和Consumer查询。

 

Broker主要负责消息的存储和传递,消息查询等。主要包含远程模块、客户端管理、存储服务、HA服务和索引服务。

 

Broker(不管是Master还是Slave)和每一台NameServer机器来建立TCP连接。

Broker在启动的时候调用BrokerController中start方法,获取远程nameServerAddressList(远程NameServer服务列表),

Broker对nameServerAddressList进行for循环处理,注册自己配置的topic信息到NameServer集群的每一台机器中。

即每一台NameServer都有该Broker的topic的配置信息。Master与Master之间无连接,Master与Slave之间有连接。

Producer和NameServer:

每一个Producer与NameServer集群中的一台机器建立TCP连接,从这台NameServer上拉取路由信息。

 

Producer和broker:

Producer和它要发送的topic相关的Master类型的Broker建立TCP连接,用于发送消息以及定时的心跳信息。

Broker中记录该Producer的信息,供查询使用。

 

Consumer和NameServer:

每一个Consumer会和NameServer集群中的一台机器建立TCP连接,会从这台NameServer上拉取路由信息,进行负载均衡。

Consumer和Broker:

Consumer可以与Master或者Slave的Broker建立TCP连接来进行消费消息,Consumer也会向它所消费的Broker发送心跳信息,供Broker记录。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值