Вопрос

Все больше и больше баз данных NoSQL, находящихся в центре внимания, используют шаблон master / slave для обеспечения "доступности", но то, что он делает (по крайней мере, с моей точки зрения), создает слабое звено в цепочке, которое может оборваться в любой момент.- Хозяин выходит из строя, рабы перестают функционировать.

Это отличный способ обрабатывать большие объемы данных и выравнивать скорость чтения / записи, но с точки зрения доступности?Не так уж и много...

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

Так как же вы, люди, справляетесь с подобными вещами?Как работают базы данных master / slave в реальном мире?

Это было полезно?

Решение

Это довольно обобщенный вопрос;можете ли вы уточнить, о каких хранилищах данных вы конкретно говорите?

Я работал с MongoDB, и он справляется с этим очень изящно;каждый участник "набора реплик" (по сути, кластера ведущий-ведомый) имеет право стать ведущим.При подключении к набору реплик набор сообщит подключающемуся клиенту о каждом элементе в наборе.Если ведущий в наборе отключается, подчиненные устройства автоматически выбирают нового ведущего, а клиент (поскольку у него есть список всех узлов в наборе) будет пробовать новые узлы до тех пор, пока не подключится;узел, к которому он подключается, проинформирует клиента о новом главном устройстве, и клиент переключит свое соединение.Это обеспечивает полностью прозрачный переход на другой ресурс master / slave без каких-либо изменений в вашем приложении.

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

Конечным результатом является то, что если у вас установлен набор реплик, вы можете фактически просто не беспокоиться о том, что взрыв какого-либо отдельного узла переведет вас в автономный режим.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top