简体   繁体   English

如何处理卡住的 RabbitMQ Dynamic Shovel 消息

[英]How to handle stuck RabbitMQ Dynamic Shovel messages

We are currently using RabbitMQ Dynamic Shovels to forward messages to Azure Event Hub .我们目前正在使用RabbitMQ Dynamic Shovels将消息转发到Azure 事件中心 Recently we setup a new Queue to be forwarded to Event Hub.最近我们设置了一个新的队列以转发到事件中心。 Some messages in this Queue have a size of over 1MB which is the limit for messages on Event Hub.此队列中的某些消息的大小超过1MB ,这是事件中心消息的限制。 Because of this limit the messages bounce back and are sent again a few times each second.由于此限制,消息会反弹并每秒再次发送几次。 This creates a lot of network traffic which can be an issue.这会产生大量网络流量,这可能是一个问题。

Is there any way to send messages that bounce back to a DLX (dead letter exchange) or to a different queue?有什么方法可以将退回到 DLX(死信交换)或不同队列的消息发送出去? We have looked for some Dynamic Shovel options but could not find any that would be of any use.我们已经寻找了一些 Dynamic Shovel 选项,但找不到任何有用的选项。

Thank you Jesse Squire .谢谢杰西乡绅 Posting your suggestion as an answer to help other community members.发布您的建议作为帮助其他社区成员的答案。

Generally, for cases when your payload is (or may be) larger than the allowable size, we recommend considering the claim check pattern where you store your payload in some other durable store (such as Blob storage) and then publish the event with a body that points to that resource.通常,对于负载大于(或可能)大于允许大小的情况,我们建议考虑声明检查模式,将负载存储在其他持久存储(例如 Blob 存储)中,然后使用正文发布事件指向那个资源。

You can refer to Dead-lettering dead-lettered messages in RabbitMQ .您可以参考RabbitMQ 中的 Dead-lettering dead-lettered 消息

You can also open an issue on GitHub: rabbitmq-server你也可以在 GitHub 上开一个 issue: rabbitmq-server

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM