本文介绍云消息队列 RocketMQ 版中消费者(Consumer)的定义、模型关系、内部属性、行为约束、版本兼容性及使用建议。

定义

消费者是云消息队列 RocketMQ 版中用来接收并处理消息的运行实体。

消费者通常被集成在业务系统中,从云消息队列 RocketMQ 版服务端获取消息,并将消息转化成业务可理解的信息,供业务逻辑处理。

在消息消费端,可以定义如下传输行为:

模型关系

  1. 消息由生产者初始化并发送到云消息队列 RocketMQ 版服务端。
  2. 消息按照到达云消息队列 RocketMQ 版服务端的顺序存储到主题的指定队列中。
  3. 消费者按照指定的订阅关系从云消息队列 RocketMQ 版服务端中获取消息并消费。

内部属性

行为约束

版本兼容性

若您使用云消息队列 RocketMQ 版服务端5.x版本,客户端使用历史版本SDK,则消费者的消费逻辑以消费者客户端接口的设置为准。

使用建议

不建议在单一进程内创建大量消费者

云消息队列 RocketMQ 版的消费者在通信协议层面支持非阻塞传输模式,网络通信效率较高,并且支持多线程并发访问。因此,大部分场景下,单一进程内同一个消费分组只需要初始化唯一的一个消费者即可,开发过程中应避免以相同的配置初始化多个消费者。

不建议频繁创建和销毁消费者

云消息队列 RocketMQ 版的消费者是可以重复利用的底层资源,类似数据库的连接池。因此不需要在每次接收消息时动态创建消费者,且在消费完成后销毁消费者。这样频繁地创建销毁会在服务端产生大量短连接请求,严重影响系统性能。