为什么选择我们?
Broker 在启动时向所有 NameServer 注册(主要是服务器地址等) ,生产者在发送消息之前先从NameServer 获取 Broker 服务器地址列表(消费者一样),然后根据负载均衡算法从列表中选择一台服务器进行消息发送。 NameServer 与每台 Broker 服务保持长连接,并间隔 30S 检查
郢人斤斫
我喜欢酒,是因为酒让平日怯懦的人勇敢。——思达
翻然改图
南风知我意,吹梦到西州。
直权无华
你是水,维系着我的生命。
多 Master 多 S
所有消息服务器都是 Master ,没有 Slave 。这种方式优点是配置简单,单个 Master 宕机或重启维护对应用无影响。缺点是单台机器宕机期间,该机器上未被消费的消息在机器恢复之前不可订阅,消息实时性会受影响。每个 Master 配置一个 Slave,所以有多对 Master-Slave,消息采用异步复制方式,
RocketMQ 架构集
NameServer 集群 提供轻量级的服务发现及路由,每个 NameServer 记录完整的路由信息,提供相应的读写服务,支持快速存储扩展。 NameServer是一个功能齐全的服务器,主要包含两个功能: Broker 管理,接收来自 Broker 集群的注册请求,提供心跳机制检测 Broker 是否存活
架构图中集群间交互方式的
Broker Master 和 Broker Slave 是主从结构,会执行数据同步 Data Sync 每个 Broker 与 NameServer 集群中所有节点建立长连接,定时注册 Topic 信息到所有NameServer Producer 与 NameServer 集群中的其中一个节点(随机)建立长连