簡體   English   中英

使用AKKA actor在Java中使用RabbitMQ消耗多個消息

[英]Consuming multiple messages from RabbitMQ in java with AKKA actors

我是RabbitMQ的新手,我想使用RabbitMQ的多個消息,以便可以並行完成工作,並且僅在任何參與者完​​成任務后才發送確認,以免丟失消息。 我要如何使用AKKA的彈簧支架。

我可以將actor用作使用者,還是應該是普通使用者,可以使用多條消息而不發送任何消息的確認,或者應該有多個類/線程作為使用者實例化,以便在某個實例上偵聽一條消息。時間比調用演員要多(但通過AKKA模型就好像沒有演員或並行性一樣)。

我還沒有使用RabbitMQ本身,但是我可能會指定一個演員作為調度員,這將:

  1. 處理RabbitMQ連接。
  2. 接收消息(以一對一或成批的效率無關緊要)。
  3. 通過為每條消息創建一個新的工作人員,或通過將消息發送到預先創建的工作人員池,在工作人員角色之間分配工作。
  4. 任務完成並提交結果后,接收工作人員的確認,並將確認發送回RabbitMQ。 確認令牌可以作為工作人員任務的一部分包括在內,因此無需跟蹤調度程序內部的映射。

需要考慮的其他一些事項是:

  • 監督策略:誰監督調度員? 誰監督工人? 如果它們崩潰了怎么辦?
  • 在分布式環境中運行時,消息會重新發送。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM