加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 电商 > 正文

消息队列Broker主从架构详细设计计划

发布时间:2021-06-02 19:03:48 所属栏目:电商 来源:互联网
导读:Master Broker 与Slave Broker 消息如何同步 我们前面知道,要想 Broker 支持高可用,则将其设计成 主从架构,前面的分布式存储也讲了好多这种架构,可以自行查

Master Broker 与Slave Broker 消息如何同步

我们前面知道,要想 Broker 支持高可用,则将其设计成 主从架构,前面的分布式存储也讲了好多这种架构,可以自行查看历史文章哈。

首先,我们就来看第一个问题,为了保证我们的 MQ 里数据不丢失且还要支持该可用,所以我们就将 Broker 设计成 Master-Slave模式,即一个 Master Broker 对应着多个 Slave Broker 。

这样的好处就是,当我们Master Broker 接收到消息之后,它会将消息同步给 Slave ,那么即使Master Broker 宕机了话,Slave 上还是有数据的。

如上,我们思考一下,这个 Master Broker 是如何将数据同步给 Slave Broker 的?一般会有两种方案:

Master Broker 主动推送消息给Slave Broker。

Slave Broker 发送请求去 Master Broker 拉取消息数据。

我们采用第二种拉取的方案,比较靠谱一点,让 Slave Broker 不停的发送请求到 Master Broker 实现 pull 模式 拉取消息。

MQ 实现读写分离吗?

通过上面我们已经知道,Master Broker 主要用来接收消息的,然后会同步到 Slave Broker 中,因此 Slave Broker 也有一份一模一样的数据。

既然如此,那我们接下来一个问题是,消费者系统是从 Master Broker 中获取消息还是从Slave Broker 中获取呢?

其实我们不能那么简单从 master 还是 slave 中获取,应该更智能一点,既有可能去 Master 中获取也有可能从 Slave 中去获取。

作为消费者系统,在获取消息的时候会首先发送请求到 Master Broker 上去,然后Master Broker 会返回一批消息给消费者系统。

消息队列Broker主从架构详细设计计划

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读