我正在处理一个大的,旧的,非线程安全的遗留系统。我想创建一个可在运行时使用Akka.net进行扩展的分布式应用程序。
我的想法是,我可以拥有一个服务(守护程序,如进程)托管一个可以配置(理想情况下在运行时通过消息)的actor / group来创建也承载actor的子进程。这将允许我创建线程安全(进程隔离)actor集群。
父进程将在失败/退出时重新创建子进程,子进程将在父进程退出时自行退出。
你会如何设计这样的东西? dotnetfx中没有内置子进程监控功能。我很乐意利用Akka的内置监督功能。
我是否必须让我的主进程在同一进程中创建子进程,它们自己创建他们以某种方式监视的子进程?如果子进程死亡,我如何利用akka的监督?
我正在思考主要过程的路线,创建了自己创建子进程的子进程,并且在后台任务(另一个子进程)中传递了彼此传递的某种心跳消息,并在其他进程中自杀。心跳小姐。然后主要演员将产生一个新的子演员来重播消息,并重新创建子进程。
有关此类架构的任何建议或示例吗?