From 5cf0d0a8f3e2d68e303b860a5e31b4798ef1a6ee Mon Sep 17 00:00:00 2001 From: chenhoudao Date: Sat, 29 Dec 2018 19:10:41 +0800 Subject: [PATCH] add architecture.md --- docs/cn/architecture.md | 46 ++++++++++++++++++++++ docs/cn/image/rocketmq_architecture_1.png | Bin 0 -> 46292 bytes docs/cn/image/rocketmq_architecture_2.png | Bin 0 -> 18500 bytes docs/cn/image/rocketmq_architecture_3.png | Bin 0 -> 61421 bytes 4 files changed, 46 insertions(+) create mode 100644 docs/cn/architecture.md create mode 100644 docs/cn/image/rocketmq_architecture_1.png create mode 100644 docs/cn/image/rocketmq_architecture_2.png create mode 100644 docs/cn/image/rocketmq_architecture_3.png diff --git a/docs/cn/architecture.md b/docs/cn/architecture.md new file mode 100644 index 00000000..a26bcbdd --- /dev/null +++ b/docs/cn/architecture.md @@ -0,0 +1,46 @@ +# 架构设计 + +## 技术架构 +![](image/rocketmq_architecture_1.png) + +RocketMQ架构上主要分为四部分,如上图所示: + + +- Producer:消息发布的角色,支持分布式集群方式部署。producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递。投递的过程支持快速失败并且低延迟 + +- Consumer:消息消费者的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播形式的消费,它提供实时消息订阅机制,可以满足大多数用户的需求 + +- NameServer:NameServer是一个非常简单的Topic路由注册中心,其角色类似dubbo中的zookeeper,支持Broker的动态注册与发现。主要包括两个功能:Broker管理,NameServer接受Broker集群的注册信息并且保存下来作为路由信息的基本数据。然后提供心跳检测机制,检查Broker是否还存活。路由信息管理。每个NameServer将保存关于Broker集群的整个路由信息和用于客户端查询的队列信息。然后Producer和Conumser通过NameServer就可以知道整个Broker集群的路由信息,从而进行消息的投递和消费。NameServer通常也是集群的方式部署,各实例间相互不进行信息通讯。Broker是向每一台NameServer注册自己的路由信息,所以每一个NameServer实例上面都保存一份完整的路由信息。当某个NameServer因某种原因下线了,Broker仍然可以向其它NameServer同步其路由信息,Produce,Consumer仍然可以动态感知Broker的路由的信息。 + +- BrokerServer:Broker主要负责消息的存储、投递和查询以及服务高可用保证,为了实现这些功能broker包含了以下几个重要子模块。 +1. Remoting Module:整个broker的实体,负责处理来自clients端的请求。 +2. Client Manager:负责管理客户端(Producer/Consumer)和维护Consumer的topic订阅信息 +3. Store Service:提供方便简单的API接口处理消息存储到物理硬盘和查询功能。 +4. HA Service:高可用服务,提供master broker 和 slave broker之间的数据同步功能。 +5. Index Service:根据特定的Message key对投递到broker的消息进行索引服务,以提供消息的快速查询。 + +![](image/rocketmq_architecture_2.png) + +## 部署架构 + + +![](image/rocketmq_architecture_3.png) + + +### RocketMQ 网络部署特点 + +- NameServer 是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。 + +- Broker 部署相对复杂,Broker 分为Master 与Slave,一个Master 可以对应多个Slave,但是一个Slave 只能对应一个Master,Master 与Slave 的对应关系通过指定相同的BrokerName,不同的BrokerId 来定义,BrokerId 为0 表示Master,非0 表示Slave。Master 也可以部署多个。每个Broker 与Name Server 集群中的所有节点建立长连接,定时注册Topic 信息到所有Name Server。 注意:当前RocketMQ版本在部署架构上支持一master多slave,但只有brokerId=1的从服务器才会参与消息的读负载。 + +- Producer与NameServer 集群中的其中一个节点(随机选择)建立长连接,定期从NameServer 获取Topic 路由信息,并向提供Topic 服务的Master 建立长连接,且定时向Master 发送心跳。Producer 完全无状态,可集群部署。 + +- Consumer与NameServer 集群中的其中一个节点(随机选择)建立长连接,定期从NameServer取Topic路由信息,并向提供Topic服务的Master、Slave建立长连接,且定时向Master、Slave发送心跳。Consumer既可以从Master订阅消息,也可以从Slave订阅消息,消费者在向master拉取消息时Master服务器会根据拉取偏移量与最大偏移量的距离(判断是否读老消息,产生读IO),以及从服务器是否可读等因素建议下一次是从Master还是Slave拉取。 + +结合部署结构图,描述集群工作流程: + +1. 启动Namesrv,Namesrv起来后监听端口,等待Broker、Produer、Consumer连上来,相当于一个路由控制中心。 +2. Broker启动,跟所有的Namesrv保持长连接,定时发送心跳包。心跳包中包含当前Broker信息(IP+端口等)以及存储所有topic信息。注册成功后,namesrv集群中就有Topic跟Broker的映射关系 +3. 收发消息前,先创建topic,创建topic时需要指定该topic要存储在哪些Broker上。也可以在发送消息时自动创建Topic +4. Producer发送消息,启动时先跟Namesrv集群中的其中一台建立长连接,并从Namesrv中获取当前发送的Topic存在哪些Broker上,轮询从队列列表中选择一个队列,然后与队列所在的Broker建立长连接从而向Broker发消息 +5. Consumer跟Producer类似。跟其中一台Namesrv建立长连接,获取当前订阅Topic存在哪些Broker上,然后直接跟Broker建立连接通道,开始消费消息 diff --git a/docs/cn/image/rocketmq_architecture_1.png b/docs/cn/image/rocketmq_architecture_1.png new file mode 100644 index 0000000000000000000000000000000000000000..548c8752a8409bcf7b0f591f293a3bb5bf9435ad GIT binary patch literal 46292 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 LaE@e_|CT=i{2+O% literal 0 HcmV?d00001 diff --git a/docs/cn/image/rocketmq_architecture_2.png b/docs/cn/image/rocketmq_architecture_2.png new file mode 100644 index 0000000000000000000000000000000000000000..b2ab8d34c6cf0b13e44c1d7cea720e69d8191935 GIT binary patch literal 18500 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 literal 0 HcmV?d00001 diff --git a/docs/cn/image/rocketmq_architecture_3.png b/docs/cn/image/rocketmq_architecture_3.png new file mode 100644 index 0000000000000000000000000000000000000000..aa74ed7ac15120112d45b2a2b3213ca452ff79d7 GIT binary patch literal 61421 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 f{~!HLw_=OvXq