09 RocketMQ集群架构原理

Posted 鮀城小帅

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了09 RocketMQ集群架构原理相关的知识,希望对你有一定的参考价值。

1. 集群部署简化版

场景:假设有大量的系统要往RocketMQ里高并发的写入消息,可能达到每秒三十万请求。

集群方案:对RockeMQ进行集群化部署,可以发布数在多态机器上;

当前场景每台机器都能抗10万并发,部署3台机器,三十万请求分散到3台机器上,平均每台机承受的QPS不超过十万。

2.数据分发场景

RocketMQ对接收到的消息是先把消息落盘,然后再等待消费者获取消息去处理的。

假设,当前的场景有3000条数据要,分散发送给3台机器,那么每台机器就接收到1000条消息,然后进行落盘。

3.集群存储海量消息场景

场景:如果一台Broker突然宕机了怎么办?会不会导致RocketMQ里一部分的消息就没了吗?

解决思路:采用Broker主从架构以及多副本策略。

流程:Master Broker 收到消息之后会同步给Slave Broker,这样Slave Broker上就能有一模一样的一份副本数据。这样在RocketMQ集群中就有两份副本数据了。

高可用实现:如果任何一个Master Broker出现故障,还有一个Slave Broker上有一个数据副本,可以保证数据不丢失,还能继续对外提供服务,保证了MQ的可靠性和高可用性。

4.NameServer —— Broker注册

NameServer概念:RocketMQ中有NameServer这个概念。它也是独立部署在几台机器上的,然后所有的Broker都会把自己注册到NameServer上。

应用:如果系统要从Broker获取信息,就会从NameServer获取路由信息,从而找到对应的Broker获取信息。

5.完整架构图

 

 

以上是关于09 RocketMQ集群架构原理的主要内容,如果未能解决你的问题,请参考以下文章

精讲高并发异步解耦利器RocketMQ技术架构,及运行原理,及分析RocketMQ究竟强在哪里?RocketMQ集群是如何做数据分区的?如何做数据分区的?

精讲高并发异步解耦利器RocketMQ技术架构,及运行原理,及分析RocketMQ究竟强在哪里?RocketMQ集群是如何做数据分区的?如何做数据分区的?

精讲高并发异步解耦利器RocketMQ技术架构,及运行原理,及分析RocketMQ究竟强在哪里?RocketMQ集群是如何做数据分区的?如何做数据分区的?

精讲高并发异步解耦利器RocketMQ技术架构,及运行原理,及分析RocketMQ究竟强在哪里?RocketMQ集群是如何做数据分区的?如何做数据分区的?

RocketMQ-架构原理

RocketMQ-架构原理