RabbitMQ Shovel插件传递Azure Service Bus消息头问题求助与临时方案
RabbitMQ Shovel 保留Azure Service Bus消息头的方案
目前RabbitMQ的Shovel插件默认不会保留原始消息头,这就是你遇到消息头丢失问题的原因。
官方进展
官方已经关注到这个问题,相关的功能改进需求正在推进中。
临时解决办法
- 你已经实现的30行左右的Python中间件方案是可行的:将Azure Service Bus消息的头信息附加到payload中,再转发至RabbitMQ队列。这种轻量方案能确保你的Rails应用(使用Bunny作为AMQP客户端)获取到完整的消息元数据。
- 若不想修改payload结构,也可考虑自定义RabbitMQ插件或编写Erlang扩展,但这类方案复杂度更高,不如你当前的Python中间件高效。
内容的提问来源于stack exchange,提问作者Jan Mistarz
相关产品推荐
相关产品推荐

