针对每种异常,设计异常发现和处理机制。


单节点宕机

  • 客户端容错。
  • 共识组不阻塞读写。
  • 宕机超过时间阈值时,如果宕机的为 DataNode,则 PartitionNode 可以修复其上的副本。 


磁盘满

  • 负载均衡策略负责磁盘负载的动态均衡
  • 可以通过调度 VSG/MManager 共识组的方式来减少节点的磁盘空间。


网络延迟,分区

  • 如果集群间的请求延迟出现超时,则协调者节点需要根据请求类型来判断返回超时报错还是缺省返回。
  • 如果集群间出现分区时,可能存在共识组出现两个 leader 一起向 PartitionNode 汇报状态,因此集群需要维护每个共识组的最大 term 来保证只有共识组的合法 leader 信息才会被处理。


节点 OOM

  • 单节点 OOM 不影响其他节点的状态。


锁,资源管理

  • 跨节点的持锁和资源维护(查询)需要有自动释放机制。
  • No labels

1 Comment

  1. 单节点宕机,且不恢复的情况下。

    是否要考虑自动将 宕机节点数据 自动备份 到其它节点的能力。即用 其它 alive 机器充当 原共识组 里的新节点?