簡體   English   中英

播放框架Web應用程序:何時使用Akka?

[英]Play framework web application: when to use Akka?

我正在從Java過渡到Scala,並開始將Play用作應用程序服務器。 我的Java舊版應用程序(我要替換的舊版應用程序)建立在三層之上:servlet,會話bean和實體bean。 我讀到Akka演員將替換會話bean,這是正確的嗎? 什么時候在Play網絡應用程序中使用Akka actor?

我認為沒有像將Session Beans / Entity Beans轉換為actor這樣的經驗法則。

您可能需要查看您的要求。 值得考慮參與者模型的用途:參與者模型是

  • 避免同時訪問可變狀態的並發模型
  • 使用異步通信機制提供並發

這很有價值,因為從多個線程使用共享狀態非常困難,尤其是當共享狀態的不同組件之間存在必須保持同步的關系時。

但是,如果您具有域組件,其中:您不允許並發,或者您不允許可變狀態(如在函數編程中一樣),或者您必須依賴某種同步通信機制,那么actor模型將無法提供很多功能(如果有)收益。

如果您尚未http://www.infoq.com/news/2014/02/akka-ejbs-concurrency,請查看此URL

要回答問題的第二部分:

什么時候在Play網絡應用程序中使用Akka actor?

Scala不僅是語法加糖的Java,而且還意在編寫函數式編程(FP)。 Scala使編寫功能代碼更加容易和明顯。 執行此操作后,所有方法都將變為函數(不保留狀態更改)。

從這里開始,當您確實想要保留全局狀態時,可以將其封裝在Actor中,並僅通過消息傳遞隊列與之交互。因此,您不必擔心線程邏輯。

https://www.coursera.org/course/progfun是一個很好的入門入門課程

入門Scala的一本好書是:Cay S. Horstmann編寫的《 Scala for the不耐煩》

暫無
暫無

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

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