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

 

posted @ 2015-12-04 17:16  一袭青衫  阅读(600)  评论(0编辑  收藏  举报