Broker
作用:
与producer和consumer接受和发送消息
与nameserver长连接,定时上报信息
存储消息、转发服务器
每个Broker启动后,都会与所有的nameserver建立长连接,然后定时上报信息
Nameserver 底层由netty实现,提供路由注册、路由发现的功能
集群中producer、consumer、broker都定时向nameserver发送自己的状态
nameserver可以有多个,实现高可用;其他角色与每个nameserver都建立长连接
nameserver之间不通讯
nameserver中broker、topic信息默认不持久化,所有nameserver是无状态
producer
随机选择连接中的nameserver节点,获取topic路由信息
向提供topic服务的master节点建立长连接,定时向master发送心跳
因为写消息,只能写入master节点
consumer 通过nameserver获取topic路由信息,连接到对应节点消费消息
master与slave节点都可以消费消息,所有consumer连接的是topic对应所有的master、slave节点