关于高可用的问题

目前看官网文档是通过图空间指定分片多副本来提供集群的高可用的。这里有个问题我想请教一下:
在节点数大于副本数的情况下。假设副本数是3,节点可以是6,此时挂掉一个副本,集群仍然是可用的,挂掉两个副本,集群就不可用了,但是对于storage服务来说,表现只是分片的2个副本所在的storage节点down,也不能直观的看出集群已经不可用。那么保持副本数不变的情况下,增加storage节点有什么好处吗?

  1. 如果挂2台机器,有很大概率 会有parititon 的replica数量不够的,因此集群不可用。这个是有命令可以看partition情况的,你写入也会失败。
  2. 加机器不就是为了有更多硬件抗压力吗?
    3.partition数量太大也没啥特别大的用。

这里有个问题,如果3副本,N个节点,N>3,故障之后只有两个节点是好的,但是某些分片的两个副本分别分布在这两个节点上,那么这些分片是可以选主的,是可用的,而其他分片是不可用的(因为至少两副本才可用),nebula是支持访问这些可用分片的数据,只是两个副本都故障的分片数据无法访问?这种是支持的吗?

  1. 3副本只能挂一台机器,如果你 5 个 storage 挂了 2 个,那会有概率某个 part 选不到主。
  2. 多个机器是为了分摊负载,如果你想挂 2 个节点还能所有 part 可用,那要 5 副本。
  3. graph 有个配置 accept_partial_success,默认关闭。当开启时,只会返回能访问到的 part 数据,不能返回不会阻塞。但是结果可能是不可预期的,比如 count 的值,或者其他结果。

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。