當我應該使用持久性Actor時,我陷入了對Akka持久性和持續演員的適用性的混淆?阿卡執行者有什麼用途?
例如從一個給定的購物應用程序的購物車模塊,將每個用戶的購物車會話持續演員與各自唯一的persistenceId?
實際應用中的可用性是什麼?查詢方如何處理持久性actor的狀態?當執行者在實際應用中沒有用處時?
存儲狀態或存儲消息都是一樣的東西?是不是?有什麼區別,我應該使用每一個?
有人能給我一些例子嗎?
當我應該使用持久性Actor時,我陷入了對Akka持久性和持續演員的適用性的混淆?阿卡執行者有什麼用途?
例如從一個給定的購物應用程序的購物車模塊,將每個用戶的購物車會話持續演員與各自唯一的persistenceId?
實際應用中的可用性是什麼?查詢方如何處理持久性actor的狀態?當執行者在實際應用中沒有用處時?
存儲狀態或存儲消息都是一樣的東西?是不是?有什麼區別,我應該使用每一個?
有人能給我一些例子嗎?
這將是高度置評的問題,並且高度評價答案。
想象你有一個任務管理系統,例如吉拉或類似。比方說,你有演員的以下佈局:
如果項目和門票實際上是持久的演員,那麼你必須,相對於標準方法(查詢等),具有以下優點:
有用性來自您的應用程序的設計 - 有些非常適合(即多個單獨或鬆散耦合的實體),有些不太好(即您只想存儲單個最後一組數據並生成它的預定義報告)
關於Ticket概念和Actor之間的關係。通過這個例子,我們將有一個演員「ticket1」,另一個演員「ticket2」等? –
正確 - 國際海事組織,成爲持久行動者的最佳人選是域中的有形實體 - 門票/項目/交易/無論你喜歡 – abatyuk
現在我開始明白這一點,所以基於演員的應用程序,如阿卡,可以由數百萬演員?謝謝你的答案! –
我相信持久行爲者是CQRS中的寫入方,並且您仍然需要在某種可查詢存儲中處理讀取方。Akka中的參與者根據定義是事件源,所以我沒有發現任何處理查詢的事件源系統(當然,我意識到其餘的差異)沒有根本的區別。 –