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备用交换机是防丢消息常用方案,订单、支付等核心链路建议配置。

标签: none

添加新评论