Надежность: хозяин / ведомый шаблон обречен? - PullRequest
2 голосов
/ 05 сентября 2010

Все больше и больше баз данных noSQL, которые находятся в центре внимания, используют шаблон «ведущий / ведомый» для обеспечения «доступности», но то, что он делает (по крайней мере, с моей точки зрения), создает слабое звено в цепочке, которое в любой момент разорвется , - Мастер падает, рабы перестают функционировать.

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

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

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

1 Ответ

4 голосов
/ 05 сентября 2010

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

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

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

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

...