укажите, где почитать)?
В настоящий момент у меня есть 3 шарда по 2 реплики:
Шард 1 Шард 2 Шард 3
Реплика 1-1 Реплика 2-1 Реплика 3-1
Реплика 1-2 Реплика 2-2 Реплика 3-2
Каждый шард лежит на отдельном сервере, каждая реплика обслуживается отдельным докер-контейнером.
И что-то одолевают меня сомнения в правильности такого подхода: получается ведь, что если связь с Сервером 1, содержащим Шард 1 будет нарушена, или сервер «упадёт» — треть данных потеряется, потому что обе реплики находятся там 🤷🤔
Может, правильнее делать как-то так: например, одна копия Шарда 1 лежит на Сервере 1, вторая — на сервере 2… Ну и так далее. Просто как-то их смешивать. Чтобы при выходе из строя одного сервера, из двух других можно было бы собрать полную версию данных.
Или я не с той стороны подхожу к задаче?
всё правилньо, по-дефолту нужно делать так, чтоб реплики были на разных серваках
КХ рекомндует 6 серверов. Если нет такой возможности, то да вам надо сдвинуть по кругу, чтобы реплика была на другой железяке
то есть для быстрой обработки данных — каждый шард на своей машине, но внутри каждого шарда реплики тоже на отдельных машинах
да, чтобы все диски и все cpu были доступны основной реплике, и вторая чужая реплика не жрала диски
Правильно ли я понимаю, что можно сдвинуть по такой схеме, и этого будет достаточно? Шард 1 Шард 2 Шард 3 Реплика 1-1 Реплика 2-1 Реплика 3-1 Реплика 2-2 Реплика 3-2 Реплика 1-2 При условии, что первое число в идентификаторе реплики — номер шарда на отдельном сервере…
Я создал кластер по такой схеме, но теперь у меня рассинхрон в количестве данных при заливке их из старой базы в новую 🤷🤦
Обсуждают сегодня