[英]RabbitMQ - Topic Exchanges and Competing Consumers
我成功設置了一個主題交換,我能夠一次向幾個消費者傳遞消息。
我還想向競爭消費者傳遞信息並繼續使用主題交換。 我讀到使用相同的隊列名稱使消費者能夠競爭消息。 然而,我可能會弄錯,因為我無法使其發揮作用。
針對同一主題的多個偵聽器的設置:
如何將競爭消費者設置為同一主題?
甚至可以使用Topic Exchanges嗎?
謝謝。
我們首先回顧幾點。
首先,請記住,在RabbitMQ中,您總是從隊列中消耗。 交換只是您的門戶,您無法直接使用它們。
其次, 主題交換允許使用路由鍵“模式”綁定隊列。 因此,術語主題在“主題交換”的上下文中有效。
現在這是我從你的問題中理解的:
多個使用者/相同的路由密鑰 :這是您希望多個使用者都使用相同路由密鑰(或主題交換中的相同路由密鑰模式)消費的地方。 這實際上是可行的。 這樣做:
會發生什么是RabbitMQ將在循環問題中為您的消費者帶來負載平衡。 這意味着所有消費者將使用相同的隊列。 但請記住,在這種情況下,理論上可能會多次傳遞單個消息。
你正在做的是創建多個隊列,每個隊列有一個消費者。 這意味着進入交換的每條消息都將在所有隊列中重復。 最終結果是消息被多次處理。
我通過使用交換到交換綁定解決了這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.