【问题标题】:Is there a simple way of setting up rethinkdb mirrors?有没有设置 rethinkdb 镜像的简单方法?
【发布时间】:2020-12-05 03:55:52
【问题描述】:

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

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

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

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

然后,任何时候都可以转储任何镜像,并且存档将是等效的。

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

【问题讨论】:

    标签: rethinkdb


    【解决方案1】:

    看起来可以通过在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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-29
      • 1970-01-01
      • 2010-10-21
      • 1970-01-01
      • 1970-01-01
      • 2023-02-21
      相关资源
      最近更新 更多