Akka Cluster Sharding 中无法访问的节点

Unreachable nodes in Akka Cluster Sharding

我正在研究 Akka 集群分片,在阅读了 Akka 文档和互联网上的一些主题后,我认为当集群有一个无法访问的节点时,只有与该节点上的分片的通信会中断。这意味着消息被告知到它上面的分片将被缓冲并且发送者将收到超时响应并且消息被告知到其他可用节点上的分片将被正常发送和接收。 但是当我尝试实现一个有 4 个节点的集群,然后停止一个节点的服务,通过 Akka HTTP 管理检查并确认它被设置为不可访问时,我测试了从一个可用节点中的参与者向其他可用节点中的参与者发送消息节点并收到超时响应。 那么,任何人都可以帮我确认当集群有无法访问的节点时,整个分片系统将无法正常工作,或者只是无法访问节点? 谢谢

来自文档:

Shard Coordinator State

The state of shard locations in the ShardCoordinator is persistent (durable) with Distributed Data or Persistence to survive failures. When a crashed or unreachable coordinator node has been removed (via down) from the cluster a new ShardCoordinator singleton actor will take over and the state is recovered. During such a failure period shards with known location are still available, while messages for new (unknown) shards are buffered until the new ShardCoordinator becomes available.

在此我们有“在这样的故障期间,具有已知位置的分片仍然可用”,所以当Shard Coordinatorunreachable时,整个集群无法正常工作。

供参考:Shard Coordinator State in doc.akka.io