Skip to content

消息队列

配置说明

创建消息队列

参数描述
标识符消息队列的标识符
名称消息队列的名称
路由键消息队列的路由键
备注备注
持久化类型持久化保存
不持久化保存
消息存活时间默认为10000,单位为ms
队列长度默认为10000
消费模式从消息队列中拉取消息
消息队列主动推送
确认模式无异常确认
总是自动确认
手动确认
消费者调用类型选择调用自动化程序或者脚本

pull模式

当消息队列的消费模式设置为从消息队列中拉取消息(即pull模式),队列中的消息需要主动拉取消费。

使用场景

  • 流量控制:消费者根据自身处理能力拉取消息,防止消息堆积导致系统崩溃。
  • 批量处理:一次性获取多个消息进行批量处理,提高效率。
  • 负载均衡:处理能力强的消费者拉取更多消息,实现负载均衡。
  • 高优先级任务:根据优先级选择性拉取消息,优先处理高优先级任务。
  • 动态调整:消费者根据当前负载和处理能力动态调整拉取频率和数量。
  • 资源受限环境:在资源有限的情况下,仅在资源允许时拉取消息,避免过度使用。
  • 延迟敏感:处理完一批消息后立即拉取下一批,减少延迟。

实现流程

  1. 通过informat.mq.publish将消息推送到对应的消息队列
  2. 在自动化程序的代码片段或者脚本中通过informat.mq.basicGet主动拉取消费,如果设置为非自动确认则要执行步骤3
  3. 手动确认消息informat.mq.basicAck

示例

push模式

当消息队列的消费模式设置为消息队列主动推送(即push模式)。主动将队列中的消息推送到配置中的自动化程序或者脚本

使用场景

  • 实时性要求高:需要消息尽快被消费,例如实时通知、报警系统。
  • 低延迟:希望消息在生产后立即被处理,减少消息在队列中的等待时间。
  • 高并发消费:有多个消费者并发处理消息,可以快速响应和处理大量请求。
  • 事件驱动系统:系统各组件之间通过事件进行通信,消息需要立即触发相应的处理逻辑。
  • 负载均衡:RabbitMQ 会自动将消息分发给多个消费者,实现负载均衡。

实现流程

  1. 首先配置好消息队列及对应的消费者(自动化或者脚本)
  2. 其他脚本通过informat.mq.publish将消息推送到对应的消息队列
  3. 消息队列将消息主动推送给消费者,入参:MqMessage。如果确认模式设置为手动确认则要执行步骤4
  4. 手动确认消息informat.mq.basicAck

示例

如果不小心在消息队列后台删除了一个队列,怎么处理?

  • 可以在织信消息队列模块的配置界面,找到对应的消息队列,编辑后重新发布,平台会自动创建消息队列。