我是RabbitMQ的新手
我有多个节点,每个节点都有一个生产者和几个消费者。 我尝试使队列长度非常短。 但是,我想介绍一种机制,如果队列达到某个阈值,我们可以将消息移动到另一个节点,前提是该节点低于阈值。 我可以用铁铲做吗?有人可以指出我正确的方向。
基本上,我想使用“铲子”将消息移到另一个不忙的节点,以便该节点上的使用者可以处理一些消息。 铁铲将不会取代繁忙节点上的使用者。
****************编辑*******************
我发现一把铲子很好用。
我创建了一个C#程序,该程序监视每个节点上的队列。
它使用QueueDeclarePassive
(在RabbitMQ .net API上)。
如果该节点的工作量很少,则会创建一个临时的动态铲,以从另一个节点提取工作。
我唯一的问题是创建了一个循环。因为现在原始节点完成了工作并将数据铲回。
我需要防止这些循环发生。我可以让铲子在接收到的消息上添加标头,但是如果标头存在,我无法让其他节点铲起不接收数据。
有什么想法吗?