发送者选择的分配
AMQP 0-9-1 中的路由逻辑不提供一种方法让消息发布者选择预期的接收者,除非它们将它们的队列绑定到目标目的地(交换机)。
RabbitMQ 代理以特殊方式处理“CC”和“BCC”消息头以克服此限制。这相当于在电子邮件的“CC”或“BCC”字段中输入多个收件人。
如果存在,则与“CC”和“BCC”头键关联的值将添加到路由键中。消息将被路由到与作为basic.publish
方法的参数提供的路由键匹配的所有目的地,以及“CC”和“BCC”头中提供的路由。 “CC”和“BCC”值的类型必须是longstr的数组,并且这些键区分大小写。如果头不包含“CC”或“BCC”键,则此扩展名无效。
在传递之前,“BCC”键和值将从消息中删除,从而在消费者之间提供一些机密性。此功能偏离了 AMQP 0-9-1 规范,该规范禁止任何消息修改,包括头。此功能会造成少量性能损失。
此扩展独立于使用的客户端库。任何能够在发布时设置头值的 AMQP 0-9-1 客户端都可以使用此扩展。