我在两个不同的地理位置有两台服务器(alfa1和alfa2)。
r。table ('dados', {shards:1, replicas:{alfa1:1, alfa2:1}, primaryReplicaTag:'alfa1'})
我需要能够写两个服务器,但是当我试图关闭alfa1,并写到alfa2, rethinkdb只允许读取:表测试。Dados可用于过时的读取,但不能用于最新的读取或写入。
我需要一种方法来写所有的副本,而不仅仅是主副本。
这可能吗?
是否支持多数据中心复制?我认为多数据中心复制需要允许两个数据中心的写入。
我试图删除"primaryReplicaTag",但系统不接受!
欢迎任何帮助!
RethinkDB支持多数据中心复制/分片。
我认为这里的问题是你已经设置了两个集群,这意味着当一个失败时,你只有集群中50%的节点,这意味着你的节点少于51%。
从故障转移文档- https://rethinkdb.com/docs/failover/
要执行表的自动故障转移,需要满足以下要求必须满足:
- 集群必须有三个或更多的服务器
- 表必须配置为有三个或更多副本
- 表的大多数(大于一半)副本必须可用
尝试添加一个额外的服务器,您的问题应该解决。