我是新來的stackoverflow,我一直試圖圍繞「Akka Actor」和這個異步通信的工作原理。所以基本上,我的web應用程序將(可能)有數以千計的用戶與它進行通信,請求並編寫我擁有的數據庫。基本的持久性網絡應用程序...瞭解Akka Actor和異步IO的好處
所以基本上,我已經聽過很多次了,Async IO是構建這種解決方案的方式,當然Akka是一個去處。我的問題確實是,
如果一個Akka演員一次只能處理一條消息,那麼這裏的整體優勢究竟是什麼,我是否缺少了一些東西,Akka.ActorSystem會根據線程數量自動創建和銷燬參與者在電腦裏?最重要的是,如果某些客戶端有比較完善的數據庫任務,那麼基本上會阻止這些參與者,直到它能夠發送正確的響應爲止。這是否是期貨進來,我沒有真正理解期貨是什麼。如果你不得不調用future.get()(這是一個阻塞操作)到底有什麼意義?
我目前正在使用Scalatra 2.3,這有點令人討厭,因爲他們的所有教程都說Akka內置,同時他們在Scalatra 2.3中刪除它,贊成scala.concurrent,根據Scala 2.11.x發佈說明,演員已被刪除贊成Akka。所有這一切都僅僅是自相矛盾,我發現自己越來越困惑於使用什麼,如何使用它,它做了什麼,有什麼優勢等等。如果有人可以請幫助澄清這些問題,我很樂意聽到並學習。非常感謝!
哇這太棒了,非常感謝你的澄清,所以基本上BalancingDispatcher就是我一直在尋找的東西,更不用說自定義實現來產生工作者Actor,並讓他們從調度員那裏請求工作。好的竅門哈哈,有趣,所以未來的結果只會在獲得結果後才傳遞給自己?謝謝4aRk! – PranavSathy
未來的結果可以傳送給任何演員。不一定對演員本身。未來,你甚至可能會向其他演員發送消息。 –