akka actor失败影响os进程

时间:2013-02-16 03:29:52

标签: akka

如果说我的演员使用的代码(我无法控制的代码)抛出一个未处理的异常,是否会导致整个actor系统进程崩溃或每个actor在某种特殊容器中运行?

为了澄清更多,在我的用例中,我希望每个actor(在运行时)加载一些用户编写的代码/ lib并在它们上调用一些接口方法。这些库可能是错误的,并且可能导致我的actor系统os进程死亡或停止或类似的东西。我的意思是,如果actor调用的代码停止了某些操作(比如通过错误的客户端或死循环访问远程资源),甚至调用Enviroment.exit()或其他不良的东西。

我的意思是,如果我的要求是允许每个演员加载我无法控制的代码,我怎样才能保护我的演员系统不受其影响?我甚至不得不这样做吗?

我可以认为整个actor系统操作系统进程防御这些第三方代码的一种方法是在某种容器或事件中运行每个actor在我的actor控制的本地机器上每个actor有一个actor系统吗?我是否必须走这么远,或者akka已经为我处理了这个问题,任何演员级别的失败都不会危及整个演员系统及其过程?

1 个答案:

答案 0 :(得分:0)

如果JVM进程终止,JVM进程就会死掉。您可以通过使用Akka Cluster来解决这个问题,以便观察节点故障并做出反应。