有没有一种简单的方法可以设置rethinkdb镜像



例如,这将启动集群中的两个服务器

() rethinkdb -n A --directory DATA_A
() rethinkdb -n B --directory DATA_B --port-offset 1 --join localhost:29015

然而,它们不是镜像/副本,因为DATA_A和DATA_B不等价。

因此,从本质上讲,我想知道是否有一种方法可以启动一个集群或服务器来镜像数据库和/或表,从而可以随时添加一个新的镜像,它基本上可以赶上另一个数据库或表,然后继续实时同步。

然后,在任何时候,任何镜子都可以被丢弃,档案也将是等效的。

任何信息都将不胜感激,谢谢!!

似乎可以通过在reconfigure ()tableCreate ()上设置replica键来为每个表执行此操作。

例如

() rethinkdb -n A --directory DATA_A --bind all
() rethinkdb -n B --directory DATA_B --port-offset 1 --join localhost:29015
() rethinkdb -n C --directory DATA_C --port-offset 2 --join localhost:29015

(JS(连接并创建数据库之后

var db = "";
var table = "";
r.db (db).tableCreate (table, {
replicas: 3
}).
run (connection, (err, res) => {
if (err) throw err;
});

之后,table中插入的所有文档都应出现在所有三个数据目录中。

() rethinkdb-dump -c localhost:28015 -f A.tar.gz
() rethinkdb-dump -c localhost:28016 -f B.tar.gz
() rethinkdb-dump -c localhost:28017 -f C.tar.gz

最新更新