2026-06-22T04:50:38.png

RabbitMQ 新建队列(Add a new queue)红框区域完整详解

红框是手动创建 Queue 队列的配置表单,逐行拆解每个参数含义、业务用途、生产环境推荐配置;同时结合页面上方大量 *.x.delay 延迟队列做补充说明。

一、基础必填配置项

1. Virtual host(虚拟主机)

当前默认 /,代表当前选中的虚拟主机:

  • 作用:RabbitMQ 多租户隔离,不同 vhost 交换机、队列完全隔离,互不互通;
  • 规范:创建队列前必须选对业务所属虚拟主机,跨 vhost 无法互相收发消息。

2. Type(队列类型)

下拉选项:Default for virtual host / classic / quorum / stream

  1. classic(经典队列)
    传统磁盘队列,兼容所有旧版本,支持 TTL、死信、延迟、单消费者等全部特性;页面上方 *.x.delay 延迟队列全是 classic 类型。
  2. quorum(仲裁队列,3.8+推荐生产主用)
    集群高可用,消息复制多节点,宕机丢消息概率更低;但部分老高级特性支持有限。
  3. stream(流队列)
    海量日志、时序数据场景,支持重复消费、按位点读取,业务消息很少用。
  4. Default for virtual host:跟随该虚拟主机全局默认类型。

3. Name(队列名称,必填*)

队列唯一标识,生产者/消费者通过名称操作队列:

  • 规则:区分大小写,不能包含特殊控制字符;同 vhost 下名称不能重复;
  • 示例:order_pay_queueuser_notify_queue
  • 你截图里 enqueue.exchange.xxxx.x.delay延迟队列命名规范,用来存放等待到期的延时消息。

4. Durability(持久化)

两个选项:

  • Durable(持久,生产必选):队列元数据写入磁盘,RabbitMQ 重启后队列不会消失;
  • Transient(临时):仅内存存储,服务重启队列直接销毁,仅测试临时场景使用。

    注意:队列持久 ≠ 消息持久,消息持久还需要生产者发送时设置 delivery_mode=2

二、Arguments 自定义参数(高级特性,页面快捷按钮一键填充)

下方一排带问号的按钮是高频参数快捷入口,点击会自动填充键值对到上方输入框,逐个说明:

1. Auto expire(队列自动过期 x-expires

单位:毫秒。

  • 逻辑:队列空闲多久无消费者、无消息后自动删除;
  • 适用:临时一次性任务队列,避免大量闲置队列堆积。

2. Message TTL(消息过期 x-message-ttl

单位:毫秒。

  • 逻辑:队列内所有消息统一设置过期时间,超时未消费自动变成死信;
  • 你的截图里大量 *.x.delay 延迟队列核心就是靠这个参数实现延时。

3. Overflow behaviour(消息溢出策略 x-overflow

队列达到最大长度后如何处理新消息:

  • drop-head:丢弃队首最老消息(默认);
  • reject-publish:拒绝生产者新消息,返回报错。

4. Max length(队列最大消息数 x-max-length

限制队列最多存放多少条消息,超出触发溢出策略,防止消息无限堆积撑爆磁盘。

5. Max length bytes(队列最大字节 x-max-length-bytes

限制队列总占用磁盘大小,超出同样触发溢出策略。

6. Single active consumer(单一活跃消费者 x-single-active-consumer

开启后:队列同时只允许1个消费者处理消息,其他消费者挂起等待;

  • 核心用途:强制同队列严格顺序消费,多实例部署也不会并发乱序。

7. Dead letter exchange(死信交换机 DLX x-dead-letter-exchange

填写交换机名称,消息满足以下条件会转发到该交换机:

  1. 消息TTL超时;
  2. 消费者主动 NACK 且不重回队列;
  3. 队列达到最大长度溢出丢弃;
    是延迟队列、失败消息重试的核心依赖。

8. Dead letter routing key(死信路由键 x-dead-letter-routing-key

消息转发到死信交换机时使用的 routing-key,不填默认复用原消息路由键。

9. Leader locator(仲裁队列专用)

仅 quorum 队列生效,控制集群内队列主节点分配策略,单机部署无需配置。

三、底部按钮 Add queue

填写完所有配置后点击,即可在上方列表创建出新队列。

四、结合你截图里 *.x.delay 延迟队列补充说明

页面上大量 enqueue.exchange.数字.x.delayTTL延时队列,实现原理:

  1. 新建这类 delay 队列,配置 Message TTL(对应数字毫秒,如604800000=7天);
  2. 绑定普通交换机作为死信交换机;
  3. 生产者消息先发到 delay 队列,消息到期后自动通过DLX转发到业务队列,实现延时消费;
  4. 全部为 classic 持久队列,标有 TTL / DLX / DLK 标识(DLK=死信路由键)。

五、生产环境标准配置参考

普通业务队列

  • Virtual host:业务专属vhost
  • Type:classic / quorum(集群高可用选quorum)
  • Durability:Durable
  • Arguments:按需配置 DLX、Max length 防止消息丢失/堆积

延时delay队列(截图同款)

  • Durability:Durable
  • Arguments:

    • Message TTL = 延时毫秒
    • Dead letter exchange = 业务交换机
    • Dead letter routing key = 目标业务队列绑定键

2026-06-22T03:51:05.png

RabbitMQ 新增交换机(Add a new exchange)红框区域完整详解

红框是手动创建自定义Exchange交换机的表单,下面逐行拆解每个配置项含义、作用、业务场景:

1. Name(交换机名称,必填*)

  • 作用:自定义交换机唯一标识,生产者发消息时指定该名称路由消息。
  • 规范:不能包含空格、特殊控制字符,区分大小写;同一个虚拟主机(Virtual host /)下名称不能重复。
  • 示例:order_exchangepay_topic_ex

2. Type(交换机类型,下拉选择)

决定消息路由分发规则,4种核心类型:

  1. direct(默认选中)
    精准匹配:消息routing-key和队列绑定的binding-key完全相等才投递。
    适用:一对一精准推送,如订单状态通知、单点任务分发。
  2. fanout
    广播模式:忽略routing-key,所有绑定该交换机的队列全部收到消息。
    适用:全站公告、日志广播、多服务同步缓存。
  3. topic
    模糊通配匹配:支持 *(匹配一个单词)、#(匹配零/多个单词)。
    适用:日志分类、多维度事件(user.create/user.delete)。
  4. headers
    不依赖routing-key,靠消息header键值对匹配路由。
    适用:复杂多条件筛选场景,极少使用。

3. Durability(持久化)

两个选项:

  • Durable(持久,默认):交换机元数据存入磁盘,RabbitMQ重启后交换机不会丢失;生产环境必选。
  • Transient(临时):仅存内存,服务重启/崩溃后交换机直接销毁,测试临时场景使用。
注意:仅持久交换机不代表消息持久,消息持久需要队列+消息投递模式同时设置。

4. Auto delete(自动删除)

选项:Yes / No(默认No)

  • No:永久保留,手动删除才会销毁。
  • Yes:当最后一个绑定该交换机的队列解绑/删除时,RabbitMQ自动删除此交换机。
    适用:临时临时任务、一次性临时通道。

5. Internal(内部交换机)

选项:Yes / No(默认No)

  • No:普通交换机,生产者可以直接发送消息到这个交换机。
  • Yes:内部交换机,客户端无法直接发消息,只能由其他交换机通过alternate exchange备用交换机转发进来;多用于交换机嵌套路由、死信二次中转,业务极少用。

6. Arguments(自定义参数,键值对)

扩展配置,用于高级特性,输入框格式:键 = 值,右侧选择值类型(String/Number/Bool),点Add增加多组参数。

常用参数:

  1. Alternate exchange(备用交换机,页面单独快捷按钮)
    补充说明:下方Alternate exchange按钮是快捷添加参数alternate-exchange,填入另一个交换机名称。
    逻辑:当前交换机无法匹配到任何队列时,消息转发到备用交换机,避免消息丢失。
  2. x-delayed-type:延迟交换机插件参数,实现延时消息。
  3. x-message-ttl:交换机层面统一设置消息过期时间。

底部按钮 Add exchange

填写完所有配置后点击,完成交换机创建,上方列表会刷新出你新建的Exchange。

补充业务建议

  1. 线上业务通用配置参考:
    Name:自定义业务名
    Type:根据分发需求选direct/topic/fanout
    Durability:Durable
    Auto delete:No
    Internal:No
  2. 内置系统交换机(页面上方列表里amq.*开头)是RabbitMQ自带,不要修改;业务必须自己新建自定义交换机。
  3. Alternate exchange备用交换机是防丢消息常用方案,订单、支付等核心链路建议配置。

Agnes-AI 接口与 ComfyUI 节点说明

1. 官方原生:无内置 ComfyUI 节点

Agnes-AI 平台官方没有自带 ComfyUI 原生节点,它只对外提供标准 OpenAI 兼容 REST API(https://apihub.agnes-ai.com/v1),仅提供接口调用能力,不内置可视化节点封装。

2. 第三方配套:存在专用 ComfyUI 自定义节点包

有第三方开发了 closerAI_Agnes 自定义节点包,专门对接 Agnes-AI 全套接口,可直接在 ComfyUI 拖拽使用:

包含5个核心节点(分类:CloserAI/AgnesAI)

  1. CloserAI Agnes Text:调用文本大模型,对话、提示词生成、文案
  2. CloserAI Agnes Image:文生图、图生图、多参考图生成
  3. CloserAI Agnes Video:文生视频、图生视频
  4. CloserAI Agnes VideoPlayer:预览生成视频
  5. CloserAI Agnes MultiImageInput:批量传入多张参考图

使用前提

  1. 前往 platform.agnes-ai.com 注册,获取 API Key
  2. 下载节点包放入 ComfyUI custom_nodes/closerAI_Agnes/
  3. 重启 ComfyUI,填入密钥即可调用免费接口

3. 替代方案(不装第三方节点)

不想用自定义节点包,也能通过通用方式对接 Agnes API:

  • 使用 ComfyUI 通用 OpenAI/API 请求节点,自行填写 BaseURL、Key、模型名调用
  • Python 脚本调用 Agnes API,再把生成图/视频传入 ComfyUI 本地节点处理

总结

  • Agnes-AI 官方不提供 ComfyUI 节点;
  • 第三方有成熟完整的自定义节点包,一键接入文本/图像/视频全接口;
  • 底层是标准 OpenAI 格式 API,也可通用接口节点手动对接。

Agnes AI 是个啥Agnes AI 是全球模型榜单前十的一个 AI Lab。这次免费开放的是三个核心模型:文本模型 Agnes-2.0-Flash,能写代码、做知识问答、跑 Agent、规划复杂任务,编程和企业知识库场景很能打。在 Claw-Eval 这个智能体评估榜单上, 这个模型进入了 Top 10。

如何接入首先去官方的 API 平台获取一下密钥,地址:platform.agnes-ai.com

HP 打印机"需要用户干预"修复指南

适用场景:电脑打印提示"打印机需要用户干预",但手机可以正常打印。

第一步:清除卡住的打印队列

  1. Win + R,输入 services.msc,回车
  2. 找到 Print Spooler,右键 → 停止
  3. 打开文件管理器,进入路径:

    C:\Windows\System32\spool\PRINTERS
  4. 删除该文件夹内的 所有文件(这些是卡住的打印任务,删除不影响打印机)
  5. 回到服务窗口,右键 Print Spooler启动

第二步:将 WSD 端口改为 TCP/IP 端口(关键步骤⚠️)

这是问题的根本原因。Windows 自动分配的 WSD 端口极不稳定,必须换成 TCP/IP 固定端口。

2.1 确认打印机 IP 地址

方法一:在打印机面板上按 信息键 (i),打印网络配置页,查看 IP 地址

方法二:在手机 HP Smart 应用中查看打印机 IP

方法三:在电脑浏览器地址栏输入路由器管理地址,查看已连接设备中打印机的 IP

2.2 创建 TCP/IP 端口

  1. Win + R,输入 control printers,回车
  2. 右键你的 HP 打印机 → 打印机属性
  3. 切换到 端口 选项卡
  4. 点击 添加端口…
  5. 选择 Standard TCP/IP Port → 点击 新端口…
  6. 向导点击"下一步"
  7. 打印机名或 IP 地址:输入打印机的 IP 地址(如 192.168.10.6

    • 端口名会自动生成为 IP_192.168.10.6,不用改
  8. 点击"下一步"→"完成"

2.3 切换到新端口

  1. 回到 端口 选项卡
  2. 在端口列表中,勾选 刚创建的 IP_192.168.10.6 端口
  3. 取消勾选 原来的 WSD 端口(名字很长一串,类似 WSD-7997d987-…
  4. 点击 应用确定

第三步:关闭双向支持

  1. 右键打印机 → 打印机属性
  2. 切换到 端口 选项卡
  3. 取消勾选 "启用双向支持"
  4. 点击 应用确定

第四步:重启打印服务

  1. Win + R,输入 services.msc,回车
  2. 右键 Print Spooler重新启动

验证

打印一份测试页:

  1. 右键打印机 → 打印机属性
  2. 点击 打印测试页

如果测试页正常打印,修复成功 ✅


注意事项

  • 绑定固定 IP:建议在路由器管理页面中,将打印机 IP 与其 MAC 地址绑定,避免重启路由后 IP 变化导致再次失联
  • 换路由器/重置网络后:如果打印机 IP 变了,需要重新执行第二步,更新端口指向新 IP
  • USB 连接的打印机:本指南适用于无线/网络连接;USB 连接请检查端口是否选的 USB001 等虚拟端口,同样注意关闭双向支持

如果以上仍无法解决

  1. 完全卸载打印机:设置 → 蓝牙和其他设备 → 打印机和扫描仪 → 删除设备
  2. 卸载 HP Smart 应用,重启电脑
  3. 从 HP 官网重新下载驱动:https://support.hp.com
  4. 安装驱动时选择"无线连接",按向导重新配置
  5. 配置完成后,再次按上述步骤检查端口是否为 WSD,如果是则重复第二步和第三步