使用Rethinkdb进行多数据中心复制

时间:2015-09-05 14:05:49

标签: rethinkdb rethinkdb-python rethinkdb-ruby rethinkdb-javascript

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

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

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

我需要一种方法来为所有副本编写代码,而不仅仅是针对Primary。

这可能吗? rethinkdb是否允许multidatacenter复制?

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

我试图删除" primaryReplicaTag"但系统不接受!

欢迎任何帮助!!!

1 个答案:

答案 0 :(得分:0)

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

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

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

  

要为表执行自动故障转移,请满足以下要求   必须得到满足:

     
      
  • 群集必须具有三个或更多服务器
  •   
  • 必须将表配置为包含三个或更多副本
  •   
  • 该表的大部分(大于半数)副本必须可用
  •   

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