2014-02-10 47 views
1

Can Akka可以爲分佈式應用程序(Java/JEE)提供Web請求限制嗎?我可以使用Akka來限制分佈式系統中的Web服務請求嗎?

我的應用程序使用多個Web服務,每個Web服務允許最大數量的併發請求。我看了

  • TimerBasedThrottle - 適用於單節點應用程序,但無法管理在分佈式設置中發送的數量或請求。
  • 平衡調度 - 股參與者將消息發送到空閒演員之間的單個郵箱,但不強制每秒/分鐘的限制,等等。

什麼是阿卡實現這一目標的最佳方式是什麼?

回答

2

如果您想要控制和限制分佈式系統執行的某些操作的數量,那麼您的分佈式節點必須進行通信才能實現此目的。最簡單的方法是讓一箇中央角色跟蹤對某個目標Web服務發出的所有請求,併發放允許它們發生的故障單(超過配置的限制時延遲或丟棄請求)。如果你不想承擔節點間通信的開銷,那麼你將不得不劃分你的配額,以保證通過單獨節制所有節點的總和不能超過限制,但是這顯然是浪費的,除非請求發起者是完美平衡。

+0

謝謝@Roland庫恩。通過Akka世界中的可用選項,您對中央角色(例如配置爲運行remotley的平衡調度程序)有何建議? – cduggan

+0

單個演員每秒可以輕鬆處理數百萬條消息,因此當它證明是一個問題時,我會開始擔心如何調整該消息。 –

相關問題