介绍:
要掌握Rocketmq,首先要了解Rocketmq的集群架构原理。
上图是一个rockemq集群架构图,根据这个图让我们来了解一下Rocketmq集群原理:
NameSrv 路由中心集群
负责保存broker topic,ip地址等集群信息,提供路由注册,发现,broker故障剔除等功能。nameSrv集群中所有节点都保存了一样的路由信息,彼此之间互不同通信。
Broker集群
消息存储和消费:broker集群主要负责存储消息,提供消息消费查询功能;
路由注册:所有broker都会向所有的namesrv节点注册自己的路由信息;
主从复制:broker为了保证高可用采用Master-Slave架构,Master节点负责写消息,Slave节点负责同步消息,当Master节点负载过大时候,Slave也会对consumer消费者提供读服务,分担Master节点的压力;
磁盘存储:broker会把所有消息顺序写入pageCache,然后在刷入磁盘,这种方式大大提供IO写性能。读取消息使用mmap提高IO读能力;
网络通信:broker和namesrv,生产者,消费者之前网