Репликация с несколькими центрами обработки данных с помощью Rethinkdb

У меня есть два сервера в двух разных географических точках (alfa1 и alfa2).

r.tableCreate('dados', {осколки:1, реплики:{alfa1:1, alfa2:1}, primaryReplicaTag:'alfa1'})

Мне нужно иметь возможность писать для обоих серверов, но когда я пытаюсь отключить alfa1 и писать на alfa2, rethinkdb разрешает только чтение: таблица test.dados доступна для устаревших операций чтения, но не для актуальных операций чтения или записи.

Мне нужен способ записи для всех реплик, а не только для Primary.

Это возможно ? Разрешает ли rethinkdb репликацию с несколькими центрами обработки данных?

Я думаю, что репликация с несколькими центрами обработки данных должна разрешать запись для обоих центров обработки данных.

Я пытался удалить «primaryReplicaTag», но система не принимает!

Любая помощь приветствуется!!!


person Carlos    schedule 05.09.2015    source источник
comment
Эй, @Carlos, ты не мог бы закрыть это?   -  person dalanmiller    schedule 28.10.2015


Ответы (1)


RethinkDB поддерживает репликацию/сегментирование нескольких центров обработки данных.

Я думаю, что проблема здесь в том, что вы настроили кластер из двух, а это значит, что в случае сбоя одного из них у вас будет только 50% узлов в кластере, что означает, что у вас меньше 51%.

Из документации по отработке отказа — https://rethinkdb.com/docs/failover/.

Чтобы выполнить автоматический переход на другой ресурс для таблицы, должны быть выполнены следующие требования:

  • В кластере должно быть три или более серверов.
  • Таблица должна быть настроена на наличие трех или более реплик.
  • Должно быть доступно большинство (более половины) реплик для таблицы.

Попробуйте добавить только один дополнительный сервер, и ваши проблемы должны быть решены.

person dalanmiller    schedule 07.10.2015
comment
Большинство не означает 51%. То есть более 50%. Причина, по которой 1/2 не является большинством, не в том, что 0.5<0.51, а в том, что 0.5<=0.5. Рассмотрим, например, группу из 101 сервера из 200: это составляет большинство, но меньше 51%. - person phoog; 06.02.2021