RocketMQ产品架构

2019-08-30 11:06:40

本文介绍消息队列 RocketMQ 的系统部署架构,方便您更好地理解消息队列 RocketMQ 的高可用性。

消息队列 RocketMQ 在任何一个环境都是可扩展的,生产者必须是一个集群,消息服务器必须是一个集群,消费者也同样。集群级别的高可用,是消息队列 RocketMQ 跟其他的消息服务器的主要区别,消息生产者发送一条消息到消息服务器,消息服务器会随机的选择一个消费者,只要这个消费者消费成功就认为是成功了。

注意:文中所提及的消息队列 RocketMQ 的服务端或者服务器包含 Name Server、Broker 等。服务端不等同于 Broker。

系统部署架构

系统部署架构如下图所示。

11.png

图中所涉及到的概念如下所述:

Name Server: 是一个几乎无状态节点,可集群部署,在消息队列 RocketMQ 中提供命名服务,更新和发现 Broker 服务。

Broker:消息中转角色,负责存储消息,转发消息。分为 Master Broker 和 Slave Broker,一个 Master Broker 可以对应多个 Slave Broker,但是一个 Slave Broker 只能对应一个 Master Broker。Broker 启动后需要完成一次将自己注册至 Name Server 的操作;随后每隔 30s 定期向 Name Server 上报 Topic 路由信息。

生产者:与 Name Server 集群中的其中一个节点(随机)建立长链接(Keep-alive),定期从 Name Server 读取 Topic 路由信息,并向提供 Topic 服务的 Master Broker 建立长链接,且定时向 Master Broker 发送心跳。

消费者:与 Name Server 集群中的其中一个节点(随机)建立长连接,定期从 Name Server 拉取 Topic 路由信息,并向提供 Topic 服务的 Master Broker、Slave Broker 建立长连接,且定时向 Master Broker、Slave Broker 发送心跳。Consumer 既可以从 Master Broker 订阅消息,也可以从 Slave Broker 订阅消息,订阅规则由 Broker 配置决定。


RocketMQ使用限制

消息队列 RocketMQ 对某些具体指标进行了约束和规范,您在使用消息队列 RocketMQ 时注意不要超过相应的限制值,以免程序出现异常。

1核1G1M50G盘,538元/3年,2核8G5M50G盘,3000元/3年,8核16G8M50G盘,10000元/3年。能买1年,2年,3年都可以。

阿里云产品1888元服务器代金券大礼包免费领取。

阿里云服务器低门槛上云捷径,普惠上云,云服务器1核1G仅需293元/年。

企业级高性能实例,限时2-5折,限首次购买ECS用户参与,限购4台。

腾讯云代金券新用户满200减150 满500减375 满1000减750 满2000减1500。

腾讯云服务器,数据库热卖云产品3折起,爆品低至1折。

腾讯云业界领先的性价比,0.57元/天起,关注最新活动,免费体验产品。