热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

集群架构_09RocketMQ集群架构原理

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

篇首语:本文由编程笔记#小编为大家整理,主要介绍了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.完整架构图

 

 




推荐阅读
author-avatar
钟z4z萍
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有