некоторые вопросы о репликах кушетки

Здесь я получаю несколько вопросов о функциях реплики в cockbase, и надеюсь, что на них можно будет ответить. Прежде всего, я хочу поделиться своим мнением о кушетке; Если в моем кластере 10 узлов, и я установил количество реплик равным 3 в каждом сегменте (на самом деле я обнаружил, что максимальное значение равно 3, и я не нашел другого способа сделать его больше 3), тогда означает ли это, что каждые данные в ведре могут быть скопированы только на три других узла (я думаю, что три узла должны быть выбраны случайным образом, но можно ли выбрать их вручную) всего на 10 узлах; Кроме того, если некоторые из 10 узлов будут отключены, приведет ли это к потере данных?

Я заканчиваю свои вопросы следующим образом;

1, Максимальное значение числа реплик в Couchbase равно 3, правильно или неправильно? Если неправильно, то как оно может быть больше 3.

2, я думаю, что три узла должны быть выбраны случайным образом, но можно ли выбрать их вручную?

3. Если я правильно понимаю, это приведет к потере данных, когда мы обнаружим, что некоторые узлы находятся в простое. Как мы могли избежать потерь при таком условии


person user3168625    schedule 22.05.2014    source источник


Ответы (1)


Максимальное значение числа реплик в Couchbase равно 3, правильно или неправильно? Если неправильно, то как оно может быть больше 3.

Максимальное количество реплик, которое вы можете иметь, равно 3, мы используем 1 реплику в рабочей среде, но все зависит от размера вашего кластера и влияния на производительность. Чем больше реплик у вас есть, тем больше межузловой связи и передачи будет происходить.

Когда у вас есть 3 реплики, это означает, что каждый узел реплицирует свои данные на 3 других узла, это означает, что вы можете обрабатывать сбои 3 узлов в своем кластере. Это может случиться, но маловероятно, более вероятно, что машина выйдет из строя, а затем Couchbase может автоматически переключиться на другой узел и продвигать реплику, хранящуюся на другом узле, для обслуживания запросов/обновлений.

Система Couchbase удобна, потому что это означает, что вы можете увеличивать и уменьшать масштабирование путем отказа узла и автоматической повторной балансировки.

Я предполагаю, что три узла должны быть выбраны случайным образом, но могу ли я выбрать их вручную?

Вы не можете сказать, на каких узлах хранятся реплики, на самом деле я думаю, что это здорово, что все процессы сегментирования и репликации Couchbase выведены из рук разработчиков, все это автоматический процесс.

Если я правильно понимаю, это приведет к потере данных, когда мы обнаружим, что некоторые узлы находятся в простое. Как мы могли бы избежать потери данных при таких условиях?

Как я уже говорил, если один узел выйдет из строя, реплика будет повышена, а с тремя резервными копиями вам потребуется 3 узла, чтобы выйти из строя, прежде чем вы заметите, что что-то происходит. В производственной среде у вас уже должна быть система предупреждений для каждого отдельного узла, будь то New Relic, Nagios и т. д., которая будет сообщать, если сервер умирает. Если бы возникла катастрофическая проблема, и вы потеряли более 4 узлов, то да, у вас была бы потеря данных.

Имейте в виду, что автоматическое отключение в Couchbase не происходит мгновенно, но все же довольно быстро. Если вам нужно время простоя в кластере, скажем, для обслуживания сервера, требующего перезагрузки или чего-то еще, тогда можно отключить узел, удалить его из кластера, выполнить на нем операции и задачи, а затем добавить его обратно в кластер и перебалансировать. Выполните эти остановки еще раз для любого количества узлов, которое вам нужно, я лично сделал это, когда забыл установить определенные параметры Linux, требующие перезагрузки системы.

В целом, чтобы избежать потери данных, следите за своими серверами, делайте (ежедневно/ежечасно) резервные копии данных в своем кластере и имейте машины, которые хорошо подготовлены для вашей рабочей скорости.

Надеюсь, это поможет!

person scalabilitysolved    schedule 22.05.2014