sharding - Akka Cluster Sharding 中无法访问的节点
问题描述
我正在研究 Akka Cluster Sharding,在阅读了 Akka 文档和互联网上的一些主题后,我认为当集群有一个无法访问的节点时,只有与该节点上的分片的通信被中断。这意味着消息被告知其上的分片将被缓冲,并且发送者将收到超时响应,并且消息被告知其他可用节点上的分片将正常发送和接收。但是当我尝试实现一个有 4 个节点的集群,然后停止一个节点的服务,通过 Akka HTTP 管理检查并确认它被设置为不可访问时,我测试了从可用节点中的参与者向其他可用节点中的参与者发送消息节点并收到超时响应。那么,任何人都可以帮助我确认集群何时存在无法访问的节点,整个分片系统将无法正常工作,或者只是无法访问的节点?谢谢
解决方案
从文档:
分片协调器状态
ShardCoordinator 中分片位置的状态是持久的(持久的),具有分布式数据或持久性以在故障中存活。当从集群中删除(通过关闭)崩溃或无法访问的协调器节点时,新的 ShardCoordinator 单例参与者将接管并恢复状态。在这样的故障期间,具有已知位置的分片仍然可用,而新(未知)分片的消息被缓冲,直到新的 ShardCoordinator 可用。
在此我们有“在这样的故障期间,具有已知位置的分片仍然可用”,因此当Shard Coordinator
整个unreachable
集群无法正常工作时。
推荐阅读
- r - 如何在 gganimate 动画中左对齐绘图标签?
- c# - Word Processing Document open Word(docx) get "The specified package is invalid. the main part is missing" 错误
- python - 从 OrderedDict 中提取数据
- android - 一次改造一个 api 调用
- swift - 如何断言使用最新文本输入的可观察对象的输出
- delphi - Delphi 可调整大小的表单完全删除标题栏
- node.js - 在 nuxt 中使用 newrelic
- python - Python数组中使用的不同类型代码有什么区别?
- mongodb - mongodb,通过哈希键查找
- python - 由于 python 运行器上的语法错误,无法运行 py 文件