我们正在使用氮气版本的ODL,我们正在尝试2节点集群。在我们的测试中,我们观察到以下内容
- 在节点之间分裂大脑。
- 每个节点上的 Akka 参与者隔离了它们的对等节点。
- 隔离后,系统捆绑包自动停止,所有相关捆绑包也停止并重新启动。
我们注意到在隔离节点时会触发以下代码。请参考 apply(( in ActorSystemProvider 源代码
您能否回答以下问题
- 关闭系统捆绑包的原因以及为什么我们在两个节点中都这样做。
bundleContext.getBundle(0(.stop((;
- 是否可以禁用系统捆绑包的关闭和重新启动。
当 akka 隔离节点时,在 actor 系统重新启动之前,它不会让它回到集群中。这本质上意味着重新启动 ODL,因此我们重新启动 karaf 容器。这很古怪,但不幸的是,这就是 akka 的设计和工作方式,所以别无选择(至少我不知道(。