1

我在两个不同的地理位置(alfa1 和 alfa2)有两台服务器。

r.tableCreate('dados', {shards:1, replicas:{alfa1:1, alfa2:1}, primaryReplicaTag:'alfa1'})

我需要能够为两台服务器写入,但是当我尝试关闭 alfa1 并写入 alfa2 时,rethinkdb 只允许读取:表 test.dados 可用于过时的读取,但不能用于最新的读取或写入。

我需要一种为所有副本写入的方法,而不仅仅是主要副本。

这可能吗 ?rethinkdb 是否允许多数据中心复制?

我认为多数据中心复制需要允许两个数据中心的写入。

我试图删除“primaryReplicaTag”,但系统不接受!

欢迎任何帮助!

4

1 回答 1

0

RethinkDB 确实支持多数据中心复制/分片。

我认为这里的问题是您已经设置了一个由两个组成的集群,这意味着当一个失败时,您只有集群中 50% 的节点,这意味着您的节点少于 51%。

从故障转移文档 - https://rethinkdb.com/docs/failover/

要对表执行自动故障转移,必须满足以下要求:

  • 集群必须有三个或更多的服务器
  • 该表必须配置为具有三个或更多副本
  • 表的大多数(超过一半)副本必须可用

尝试仅添加一台额外的服务器,您的问题应该会得到解决。

于 2015-10-07T17:30:44.577 回答