我們運行多個併發RabbitMQ使用者,每個使用者在一個循環中執行「basicGet」。我們看到單個消費者獲得大部分消息。是否有辦法在所有消費者之間更均勻地傳播消息?基本上,我們可以以某種方式中斷服務第一個消費者的RabbitMQ並切換到下一個。注意:我們必須拉消息(basicGet)並且不能切換到推(basicConsume)謝謝。從單個RabbitMQ隊列中併發獲取基本信息
1
A
回答
0
設置消費預取限制爲1,並將消費者置於noAck:false模式。
...這可能是AUTOACK:假的,而不是諾亞克...
這將迫使你的消費者一次只檢索1個消息,並需要您手動ACK消息。
有了這兩樣東西,你的信息更均勻地分佈在多個消費者應分配 - 假設你已經在隊列中的多個消息
+0
謝謝。這正是我正在尋找的方向(RabbitMQ接口配置)。只是我不認爲prefetch與basicGet相關 - 這是一個basicCOnsume的事情。現在我需要爲basicGet嘗試「手動」確認它是否有幫助。再次感謝你。 – Ken
+0
我認爲你對預取是正確的,因爲basicGet一次只能抓取一條消息。 :) –
相關問題
- 1. RabbitMq中每個消息使用者的單獨死信隊列
- 2. 從隊列中的一串mesggae獲取隊列中的特定消息(Rabbitmq),python
- 3. RabbitMQ只有一次從隊列中獲取消息計數
- 4. RabbitMQ - 使用curl從隊列中獲取消息
- 5. 從RabbitMQ隊列中檢索消息
- 6. SQL:如何從表中獲取單個查詢信息並從另一個表中獲取集合信息?
- 7. 從隊列中獲取消息只檢索單條消息
- 8. Rabbitmq並捕獲所有隊列
- 9. 從消息中獲取隊列名稱
- 10. 如何從EasyNetQ中的消息中獲取RabbitMQ死信頭信息?
- 11. RabbitMQ用戶將消息發送回RabbitMQ隊列?
- 12. RabbitMQ - 如何獲取隊列大小
- 13. RabbitMQ從多個消費者隊列序列化消息
- 14. 基於列值獲取mysql信息
- 15. MQException從MQ隊列中獲取消息時發生2046錯誤
- 16. RabbitMQ隊列訂單管理
- 17. 從維基百科獲取信息
- 18. 獲取信息並在Flask中發佈表單
- 19. 錯誤從JMS消息獲取隊列
- 20. 從sql中獲取信息並將其放在表單中
- 21. Hazelcast隊列信息
- 22. 獲取單元信息後,引發EXC_BAD_ACCESS
- 23. 從SQLite獲取信息並在列表視圖中顯示
- 24. RabbitMQ - parellel隊列
- 25. MYSQL從3個表中獲取信息
- 26. 從2個表中獲取信息
- 27. 在Java中獲取MQ隊列統計信息
- 28. 打開txt文件和創建列表並獲取基本統計信息
- 29. 返回消息到rabbitmq隊列末尾
- 30. Rabbitmq消息沒有出現在隊列中從c#
'不能轉推(basicConsume)'我讀過的最悲慘的事情之一今天:) – cantSleepNow