RocketMQ

2019-02-28  本文已影响0人  小破孩码农

专业术语

Producer:消息生产者,负责生产消息,一般由业务系统负债生产消息。

Consumer:消息消费者,负责消费消息,一般由后台系统负责异步消费。

Push Consumer:

Consumer的一种,应用通常向Consumer对象注册一个Listener接口,一旦接收到消息,Consumer立刻回调Listener接口的方法。

Pull Consumer:

Consumer的一种,应用通常主动调用Consumer的拉消息方法,从Broker拉消息,主动权由应用控制。

Producer Group

一类producer的集合名称,这类producer通常发送一类消息,且发送逻辑一致。

Consumer Group

一类consumer的集合名称,这类consumer通常消费一类消息,,且消费逻辑一致。

Broker

消息中转角色,负责存储消息,转发消息,一般也称为Sever,在JMS规范中称为?Provider

广播消费

一条消息被多个consumer消费,即使这些consumer同属于一个ConsumerGroup,消息也会被

ConsumerGroup中的每个consumer消费一次,广播消费中的consumerGroup概念可以认为在消息划分方面无意义。

在CORBA Notification规范中,消费方式都属于广播消费。

集群消费

一个ConsumerGroup 中的consumer实例平均分摊消费消息。例如某个Topic有9条消息,其中一个Consumer Group 有3个实例(可能是3个进程或者3个机器),那么每个实例只消费其中的3条消息。

顺序消费

消费消息的顺序要同发送消息的顺序一致。在RocketMQ中,主要指的是局部顺序,即一类消息为满足顺序性,必须Producer单线程顺序发送,且发送到同一队列,这样Consumer就可以按照Producer发送的顺序去消费消息。

集群环境

RocketMQ就是为了分布式而产生的,当然天然支持集群。

RocketMQ的集群模型:

单机模式(M)

Master-Slave模式(M-S)

双Master模式(2M)

双主双从模式(2M-2S)

多主多从模式(NM-NS)

RocketMQ物理部署图

网络部署的特点

NameServer是一个几乎无状态节点,可集群部署,节点之间无任何信息同步。

Broker部署相对复杂,Broker分为Master与Slave,一个Master可以对应多个Slave,但是一个Slave只能对对应一个Master,Master与Slave的对应关系通过指定相同的BrokerName,不同的BrokerId来定义。BrokerId为0表示Master,非0表示Slave.Master也可以部署多个。每个Broker与NameServer集群中的所有节点建立长连接,定是注册Topic信息到所有NameServer.

Producer与NameServer集群中的其中一个节点建立长连接,定期从NameServer取Topic路由信息,并向提供Topic服务的Master建立长连接,且定时向Master发送心跳。Producer完全无状态,可集群部署。

Comsumer与NameServer集群中的其中一个节点建立长连接,定期从NameServer取Topic路由信息,并向提供Topic服务的Master、Slave建立长连接,且定时向Master、Slave发送心跳。Consumer既可以从Master订阅消息,也可以从Slave订阅消息,订阅规则由Broker配置决定。

ProducerGroup

用来表示一个发送消息应用,一个ProducerGroup下包含多个Producer实例,可以是多台机器,也可以是一台机器的多个进程,或者一个进程的多个Producer对象,一个ProducerGroup可以发送多个Topic消息,ProducerGroup作用如下:

1、标识一类Producer

2、可以通过运维工具查询这个发送消息应用下有多个Producer实例。

3、发送分布式事务消息时,如果Producer中途意外宕机,Broker会主动回调ProducerGroup内的任意一台机器来确认事务状态。

ConsumerGroup

用来表示一个消费消息应用,一个ConsumerGroup下包含多个Consumer实例,可以是多台机器,也可以是多个进程,或者是一个进程的多个Consumer对象,一个ConsumerGroup下的多个Consumer以均摊方式消费消息,如果设置为广播方式,那么这个ConsumerGroup下的每个实例都消费全量数据。

上一篇 下一篇

猜你喜欢

热点阅读