单集群跨机房问题 follower 可读性问题

业务场景, 双机房, A B 有专线,单个nebula集群 meta 和 storage 均为3个, storage 3副本,A两个,B一个。
业务是两个机房都有部署,nebula集群正常情况下,业务写入请求有个机房跨专线,那读请求业务想要优先读本机房的storage的副本。
若专线断开时,B机房就一个节点,这时业务接受不可写,但是希望能读。

我看nebula默认配置是读写都走主节点,这个有参数可以配置follower 可读吗,我觉得在分布式的场景中,如果不能通过增加follower节点数提高读性能的话,是不是不太合理?

3 个赞

当前(3.0.0)还是不行的

后续(3.x)如果对数据一致性要求比较低呢,可以用learner的功能。时间还不确定。

1 个赞

你这个case 更像两个集群,用集群间数据同步功能来满足。

  1. A 机房 构建一个A集群,可以有3个storage, B 机房 构建一个B集群,只有1个storage
  2. 构建A集群到B集群的数据同步
  3. A集群可读可写, B集群只读
2 个赞

目前有集群间同步工具吗?我看文档里没有。

3.0 的企业版有。社区版没有

追问一个场景哈,如果三台机器的集群,(3meta 3graph 3storage),如果仅剩下一台机器存活(1meta 1graph 1 storage),有什么办法可以强行激活,成为1节点的独立集群吗?

那倒没有, 倒是可以考虑把 storage 的 data 文件夹 copy 到另外两个 去, 恢复 3 节点.

2 个赞

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