rocketMq之集群搭建(三)

角色介绍

Producer:消息发送者,如发信者

Consumer:消息接收者,如收信者

Broker:暂存和传输消息,如邮局

Name Server:管理broker,如邮局的管理机构,对比eureka注册中心,他注册的topic及broker的对应关系

Topic:消息分类,Producer可以发送消息到1个或多个topic,Consumer也可以订阅1个或多个topic

Message Queue:类似topic的分区,即子类目。用户并行收发消息



Broker主从

Master节点:主要处理写操作,用于接收Producer的信息,把消息存储到自己的节点当中

Slave节点:只能处理读操作,用于Consumer消费信息,注意Consumer也能从Master中消费信息,这也是Consumer与Broker Master建立长连接的原因

Master节点会通过长连接把消息同步到Slave中,方式可以采用异步或同步

集群特点

Name Server是无状态的,可集群部署,节点之间无消息同步

Broker分Master和Slave,同一组Master和Slave的BrokerName相同。而Master和Slave通过BrokerId进行区分,0表示主节点,非0表示从节点。Master可以有多个Slave,而Slave只能有一个Master,而一组的多个Slave的BrokerId必须不同。每一个Broker都会通过长连接来向所有的Name Server定时注册topic路由信息

Producer向Name Server集群的其中一个节点(随机选择),定期从Name Server获取路由信息,并向提供Topic服务的Master建立长连接(因为Slave只能读,不能写),并定时向master发送心跳,Producer无状态,可集群部署

Consumer向Name Server集群的其中一个节点(随机选择),定期从Name Server获取路由信息,并向提供Topic服务的Master、Consumer建立长连接(因为Master和Slave都能读),并定时向Master、Slave发送心跳,Consumer既可以向Master订阅消息,页可以向Slave订阅消息,订阅规则由Broker配置决定

集群模式

单Master模式:一旦Broker重启或宕机,导致整个服务不可用,可用于本地测试

多Master模式:无Slave,优点:单个Master重启或宕机对应用无影响,缺点:单台机器宕机期间,消息在机器恢复前不能订阅,影响实时性

多Master多Slave异步模式:每一个Master对应一个Slave,有多对Master-Slave,HA采取异步复制方式(即Producer向Broker Master写完消息后,Broker先保持数据,再发送回复给Producer,最后向Slave同步消息),优点:磁盘损坏,消息丢失非常小,且实时性不受影响,宕机可以从Slave消费,此过程对应用透明

多Master多Slave同步模式:每一个Master对应一个Slave,有多对Master-Slave,HA采取同步双写方式(即Producer向Broker Master写完消息后,Broker先保存数据,然后向Slave同步消息,同步完后再发送回复给Producer)。优点:数据与服务都无单点故障,缺点:性能比异步模式大约低10%左右,单消息RT会略高

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值