#rethinkdb
#rethinkdb
Вопрос:
Например, это запустит два сервера в кластере
() rethinkdb -n A --directory DATA_A
() rethinkdb -n B --directory DATA_B --port-offset 1 --join localhost:29015
Однако они не являются зеркалами / репликами, поскольку DATA_A и DATA_B не эквивалентны.
Итак, по сути, мне интересно, есть ли способ запустить кластер или сервер, который будет отражать базы данных и / или таблицы, при этом новое зеркало может быть добавлено в любое время, и оно, по сути, догонит другую базу данных или таблицу, а затем продолжит синхронизацию в режиме реального времени.
Тогда в любой момент любое зеркало может быть сброшено, и архивы будут эквивалентны.
Любая информация будет высоко оценена, спасибо!!
Ответ №1:
Похоже, это можно сделать для каждой таблицы, установив replica
клавишу reconfigure ()
или tableCreate ()
.
например
() 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