rocketmq--有哪些关键名词
RocketMQ是一个开源的分布式消息中间件,它具有高性能、高吞吐量、可扩展性和可靠性等特点。在使用RocketMQ时,你会遇到以下几个关键概念:
-
NameServer(名称服务):
NameServer是RocketMQ的注册中心,负责维护所有Broker的路由信息,供生产者和消费者查询。生产者和消费者启动时,需要连接到NameServer获取路由信息,以确定目标Broker。 -
Broker(消息处理节点):
Broker是消息存储和传输的节点,负责存储消息、消息的投递以及提供消息查询等功能。Broker可以是Master也可以是Slave,支持高可用的主从复制机制。 -
Producer(生产者):
生产者是消息的发送方,它负责创建消息并将消息发送到Broker。生产者需要指定消息的Topic(主题)和可选的Tag(标签),以便消费者可以基于这些信息过滤和接收消息。 -
Consumer(消费者):
消费者是消息的接收方,它负责从Broker订阅和接收消息。消费者可以是集群消费模式(负载均衡)或广播消费模式(每个消费者都收到所有消息)。 -
Topic(主题):
主题是消息分类的标识,生产者将消息发送到指定的Topic,消费者从指定的Topic接收消息。一个Topic可以有多个订阅者,但是每个消息只能属于一个Topic。 -
Tag(标签):
标签是对Topic进一步细分的标识,用于过滤消息。生产者在发送消息时可以指定Tag,消费者可以基于Tag进行消息过滤,只消费具有特定Tag的消息。 -
Message Queue(消息队列):
消息队列是存储消息的基本单位。一个Topic可以被分割成多个队列,队列是并发读写消息的基础。在集群消费模式下,多个消费者实例共同消费一个Topic的消息会被分配到不同的队列,实现负载均衡。 -
Message(消息):
消息是通信的基本单位,包含了要传输的数据以及相关的元数据,如:Key(业务标识符)、Tag、Topic等。 -
Message Model(消息模型):
RocketMQ支持两种消息模型:集群消费和广播消费。集群消费模式下,同一个消费者组的每个实例平均分摊消息负载;广播消费模式下,每个消费者实例都会接收到所有消息的副本。 -
Offset(偏移量):
偏移量是消费者跟踪其在消息队列中当前位置的标识。消费者可以基于偏移量重新消费消息或跳过某些消息。
这些概念构成了RocketMQ的基础架构和工作机制。了解这些概念有助于更好地使用RocketMQ进行消息的生产和消费。