0
A
回答
0
答案可能取決於您的使用案例。如果您主要關心受控關閉,那麼您可以在關閉之前向演員發送消息,以便及早處理存儲的消息,或者在演員重新啓動之前將其持續存儲到臨時存儲中。
如果演員系統崩潰,這並不會對你有很大幫助。爲了防止這種情況發生,您可以簡單地將郵件保存到數據庫,文本文件或您選擇的其他存儲機制,而不是使用存儲。創建一個兒童演員(下面的「存儲演員」)來爲您處理IO(因爲這是一個潛在的風險操作)。
父代演員有(至少)兩種狀態:Listening
和Processing
。雖然Listening
,它發送到達存儲actor的任何消息,將其寫入存儲庫。當你的工作運行時,那麼演員Become()
s Processing
。
當父角色的狀態更改爲Processing
時,父消息會向存儲參與者發送消息並請求發送所有存儲的消息。這些被適當接收和處理。當存儲參與者發送了所有的消息時,它發送一個Complete
消息。然後再回到父母角色Become()
的Listening
,週期重新開始。
在其他情況下,您可能需要使用Akka.Persistence。這是一個太大的主題進入這裏,但你可以找到你需要的信息做出明智的決定:http://bartoszsypytkowski.com/how-akka-net-persistence-works/
我會考慮的另一件事是這個過程是否實際上需要批處理。消息系統中存在一些有效的批處理使用情況,尤其是在與其他非基於消息的系統進行交互時,但如果在角色系統中內部使用它,我的第一個操作是查看是否可以實時執行該過程。
相關問題
- 1. 存儲/堅持CSS規則
- 2. 堅持/共享存儲在Android
- 3. 堅持和與塊
- 4. 堅持不與ezplot3合作
- 5. Symfony2的堅持與屬性
- 6. 小問題與堅持()
- 7. 應堅持地圖與Objectify4
- 8. log4net的堅持與WCF
- 9. 如何堅持與NHibernate
- 10. localStorage的與Json.stringify不堅持
- 11. 堅持與Java的Hibernate的
- 12. 堅持多對多與SelectBooleanCheckbox
- 13. @Async和@Transactional堅持堅持已經存在的對象JPA
- 14. Akka.Net MongoDB的持久性
- 15. KAHA DB郵件存儲堅持文件中的駱駝
- 16. 堅持SQL Server 2008使用存儲過程,JPA和休眠
- 17. 堅持/存儲在域或應用程序層?
- 18. 在會話symfony中堅持陣列存儲
- 19. 什麼是堅持比存儲在aspnet_Users表格內
- 20. 堅持UI電網的resizeColumns在會話存儲寬度設置?
- 21. 如何存儲數據或堅持它橫跨形成
- 22. 堅持春天的Java對象到Magnolia存儲庫
- 23. vb.net存儲/堅持時間序列到磁盤
- 24. 堅持存儲數學數據庫中的數學公式
- 25. 學說堅持+堅持=插入+插入?
- 26. 是否堅持或不堅持每頁結果數。如果我們想堅持下去,如何堅持
- 27. 堅持電話
- 28. 堅持的Android
- 29. 如何堅持
- 30. 沒有堅持