发送者选择性发送
AMQP 0-9-1路由逻辑没有为消息生产者提供选择指定接收者的方式,除非接收者绑定其队列到目标交换机。
RabbitMQ 代理以特殊方式处理 "抄送 "和 "密送 "消息头,以克服这一限制。这相当于在电子邮件的 "抄送 "或 "密送 "字段中输入多个收件人。
若存在与 "CC "和 "BCC "headers keys相关的值,将被添加到路由键中,消息会被路由到匹配basic.publish中路由键的目的地,也会路由到匹配 "CC "和 "BCC "headers中路由键的目的地。CC "和 "BCC "值的类型必须是 longstr 数组,这些键区分大小写。若headers不包含 "CC "或 "BCC "键,则此扩展无效。
BCC "键和值将在发送前从报文中删除,从而为消费者提供一定的保密性。这项功能违背了 AMQP 0-9-1 规范,该规范禁止对消息(包括报头)进行任何修改。该功能会对性能造成一点影响。
该扩展与所使用的客户端库无关。任何能在发布时设置报头值的 AMQP 0-9-1 客户端都能使用该扩展。