Rocketmq 架构原理介绍

介绍:

   要掌握Rocketmq,首先要了解Rocketmq的集群架构原理。

Rocketmq 架构原理介绍_第1张图片

上图是一个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,生产者,消费者之前网络通信使用的是netty,netty底层使用的多路复用IO网络模型,性能很高。

Producer生产者

生产者一般就是我们开发的应用程序,负责向broker发送消息;

producer会周期性的向broker 中的master节点发送心跳请求,broker 中的master节点也会保存producer的ip 地址等信息,

消费者rebalance的时候会应用到这些信息。

Consumer消费者

生产者一般就是我们开发的应用程序,负责从·broker拉取消息消费消息;

consumer也会周期性的向broker 中的master节点发送心跳请求,broker 中的master节点也会保存producer的ip 地址等信息,

消费者rebalance的时候会应用到这些信息。

你可能感兴趣的:(rocketmq)