架构模型
流程
1、启动 NameServer,NameServer启起来后监听端口,等待 Broker、Producer、Consumer 连上来,相当于一个路由控制中心。
2、启动Broker,跟所有的NameServer保持长连接,定时发送心跳包。
心跳包中,包含当前 Broker 信息(IP+端口等)以及存储所有 Topic 信息。 注册成功后,NameServer集群中就有 Topic 跟 Broker 的映射关系。
3、收发消息前,先创建 Topic 。创建 Topic 时,需要指定该 Topic 要存储在哪些 Broker上。也可以在发送消息时自动创建Topic。
4、Producer 发送消息。
启动时,先跟 NameServer集群中的其中一台建立长连接,并从NameServer中获取当前发送的 Topic 存在哪些 Broker 上,然后跟对应的 Broker 建立长连接,直接向 Broker 发消息。
5、Consumer 消费消息。
Consumer 跟 Producer 类似。跟其中一台 NameServer建立长连接,获取当前订阅 Topic 存在哪些 Broker 上,然后直接跟 Broker 建立连接通道,开始消费消息。