RocketMQ 学习笔记2

    技术2022-07-11  80

    RocketMQ 集群搭建

    Producer : 消息的发送者 Consumer : 消息接受者 Broker : 暂存和传输消息 // 快递 Name Server : 管理Broker // 邮政管理机构 Topic : 区分消息的种类, 一个Producer可以发给一个或者,多个,Topic , 一个Consumer 也可以订阅一个或者多个Topic的消息 Message Queue: 消息队列 吗对Topic 分区,用于并行发送和接受消息 ,相当于一个Topic的子分类

    Producer 发送消息者,发到 Broker Producer 先要去问 Name Server ,给他分配一个Broker 实际上 Name Server就是 Broker的管理者 Broker 要上报自己的状态

    Consumer也要去问Name Server,从哪个Broker中拿消息

    Name Server 里面都是无状态的,Broker对每个 Name Server 都会上报状态,不用担心不同Name Server的同步性。 Producer 之间也没有数据同步 , Consumer之间也没有

    关键在 Broker, 分为 Master 和 Slave,Master负责 写, Slave负责读, 意思是 Producer发送的信息,大多发送给Master ,就是写 Consumer 读消息, 大多是从slaver 读

    通过 Broker id来分Master 和 slave节点 ,master id 为0 。slave 是 非0 一个 slave只能属于一个master, 一个master可以有多个slave Master和slave之间要同步数据 Producer 和某个Name Server 节点(随机选择)之间也会进行一个长连接,定期去询问 要传给哪个Broker,获取 Topic 路由信息 ,并向提供该Topic服务的 Master建立 长连接,定时发送心跳。

    Consumer 也会和某个Name server节点(随机选择)之间建立长连接,获取 Topic 路由信息 ,并向提供 该Topic服务的Master 和 Slave建立长连接,定时发送心跳。 Consumer既可以从Master订阅,也可以从slave订阅,取决于Broker的配置 。

    集群模式

    Name server 、Producer、Consumer 搭建都很简单,直接启动多个就行了。 重要的是Broker集群的搭建。

    1、单master模式 2、多master模式 全是master 配置简单,单独一个挂了没关系 , 3、多master、多slave模式 (异步)

    4、多Master 多slave模式(同步)

    Processed: 0.010, SQL: 9