1. RocketMQ 整体架构
[TOC]
整体架构
RocketMQ
主要由四部分组成,NameServer
、Broker
、Producer
、Consumer
。其中NameServer
、Broker
是独立部署集群,而Producer
、Consumer
一般是以SDK的形式提供给业务方,嵌在业务集群内。另外还有一个FilterSrv
,可选择性使用,用于消费者自定义消息过滤。
NameServer
类似于服务治理框架里的注册中心。管理Broker
集群的注册信息并提供心跳来检测他们是否可用,持有关于broker集群和队列的全部路由信息;
Broker
负责消息的存储传递,客户端查询并保证高可用。此外,代理提供了灾难恢复、丰富的度量统计和警报机制。主要功能如下;
Remoting Module
:服务入口,接收来自客户端的请求并转发;Client Manager
:客户端管理,管理客户端(生产者/消费者)还有维护消费者主题订阅;Store Service
:信息存储和查询的api服务;HA Service
: 提供主从broker的数据同步;Index Service
:为消息建立索引提供消息快速查询。