0
我有兩個關於RabbitMQ的消費者問題(接收器):兔子MQ消費者如何工作?
- 我如何定義(靜態地從隊列中)什麼是註冊到某一個隊列的消費者,因此,如果一個消費者下消息在消費者再次上漲之後仍然會交付,還是有其他方法可以實現這一目標?
- 消費者如何連接到尚未創建的隊列,在rabbitmq教程中,我可以在生產者之前調用消費者,它仍然可以工作,有人可以請解釋這是如何工作的嗎?
感謝
我有兩個關於RabbitMQ的消費者問題(接收器):兔子MQ消費者如何工作?
感謝
達到你想要的東西很簡單,這是由RabbitMQ的設計(只是要確保你不會自動確認)。消息保留在隊列中,直到它被確認。所以基本上消費者應該完成處理消息,然後確認它。如果消費者在處理過程中死亡,則消息不會被確認,並且會重新排隊。消費者下次消費時,會得到該消息。當然,如果你有多個相同的消費者(爲了簡單起見),那麼這個消費者需要重新排隊的消息。很好地解釋了in the second tutorial on rmq website。
聲明隊列是一個冪等操作,如果該隊列不存在,則會創建該隊列。如果消費者是第一個創建隊列的人,那很好,它實際上是通常是它是如何工作的。發佈者實際上甚至不需要知道隊列,它只關心交換和路由密鑰。它也不關心是否有人在傾聽,它只是發佈消息。消費者需要知道它想要綁定隊列的路由密鑰。