akka cluster make node as unreachable 问题
如果确认cluster 端没有问题,就应该检查一下akka的 application.conf。
在akka cluster中,主要通过故障检测机制(Failure Detector)来看集群中各个节点是否处理可用状态。 集群中每个节点都会监控(最大5个)集群中其余的节点是否处于正常状态,当其中一个节点A检测到另一个节点B处理不可到达(unreachable)状态,它会通过gossip协议通知其余节点,其余节点将B节点标记为unreachable。如果你在application.conf中配置了auto-down-after-unreachable,B节点将被设置为down or remove. B节点必须要重启才可以重新加入集群。
如果你确认故障节点是正常的,集群把它标记为unreachable,你就需要为集群配置一个单独的dispacher.
If you encounter suspicious false positives when the system is under load you should define a separate dispatcher for the cluster actors as described in Cluster Dispatcher.
具体配置:
akka.cluster.use-dispatcher = cluster-dispatcher cluster-dispatcher { type = "Dispatcher" executor = "fork-join-executor" fork-join-executor { parallelism-min = 2 parallelism-max = 4 } }
akka 文档地址:http://doc.akka.io/docs/akka/2.4.1/java/cluster-usage.html