例如,这将启动集群中的两个服务器
() 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