RocketMQ是一种分布式消息中间件,它的核心概念包括:
- MQ(Message Queue):它是一种非常常见的数据结构,用于存储消息。
- Message Producer:也称为生产者,负责产生消息并将它们发送到Broker(消息代理)。在Java里一般代表一个生产服务,例如:下单服务,用户购买东西后产生订单
- Broker:它是一个网络服务器,接收并存储来自Producer的消息,并在需要时将其转发给Consumer(消费者)。
- NameServer:它是RocketMQ中的一个组件,主要用于维护Broker集群的路由信息。类似注册中心
- Consumer:也称为消费者,负责从Broker接收并处理消息。例如:配送服务,用户购买东西后产生的订单,订单就是从生产者产生的,消费者用来消费它
- Topic:是一个逻辑上的通道,用于区分不同类型的消息。
- Tag:是一个可选的关键字,可以用来标记Topic中的消息子集。
- Queue:是物理上的存储单元,用于保存实际的消息数据。
- Offset:表示消息在Queue中的位置。