Сплит-мозг (вычисления)
![]() | В этой статье есть несколько проблем. Пожалуйста, помогите улучшить его или обсудите эти проблемы на странице обсуждения . ( Узнайте, как и когда удалять эти шаблонные сообщения )
|
Расщепление мозга — компьютерный термин, основанный на аналогии с медицинским синдромом расщепления мозга . Он указывает на несоответствия данных или доступности, возникающие из-за обслуживания двух отдельных наборов данных с перекрытием по объему, либо из-за серверов в конструкции сети , либо из-за состояния сбоя, вызванного тем, что серверы не обмениваются данными и не синхронизируют свои данные друг с другом. Последний случай также часто называют сетевым разделом .
Хотя термин «разделенный мозг» обычно относится к состоянию ошибки, DNS с разделенным мозгом (или DNS с разделенным горизонтом ) иногда используется для описания преднамеренной ситуации, когда внутренние и внешние службы DNS для корпоративной сети не обмениваются данными, поэтому отдельные DNS Пространства имен необходимо администрировать для внешних компьютеров и для внутренних. Это требует двойного администрирования, и если в именах компьютеров есть перекрытие доменов, существует риск того, что одно и то же полное доменное имя (FQDN) может неоднозначно встречаться в обоих пространствах имен, относящихся к разным IP-адресам компьютеров. [ 1 ]
Кластеры высокой доступности обычно используют частное сетевое соединение с тактовым сигналом, которое используется для мониторинга работоспособности и состояния каждого узла в кластере. Например, синдром разделенного мозга может возникнуть, когда все частные каналы выходят из строя одновременно, но узлы кластера все еще работают, каждый из которых считает, что работает только он. Наборы данных каждого кластера могут затем случайным образом обслуживать клиентов посредством своих собственных «индивидуальных» обновлений набора данных без какой-либо координации с другими наборами данных. Это может привести к повреждению данных или другим несоответствиям данных, которые могут потребовать вмешательства оператора и очистки.
Подходы к борьбе с расщеплением мозга
[ редактировать ]Дэвидсон и др., [ 2 ] после изучения нескольких подходов к решению проблемы классифицируйте их как оптимистические или пессимистические.
Оптимистические подходы просто позволяют разделенным узлам работать как обычно; это обеспечивает более высокий уровень доступности ценой принесения в жертву правильности. После устранения проблемы может потребоваться автоматическая или ручная сверка, чтобы обеспечить согласованное состояние кластера. Одной из текущих реализаций этого подхода является Hazelcast , который выполняет автоматическую сверку своего хранилища ключей-значений. [ 3 ]
Пессимистические подходы жертвуют доступностью в обмен на последовательность. После обнаружения разделения сети доступ к подразделам ограничивается, чтобы гарантировать согласованность. Типичный подход, описанный Coulouris et al., [ 4 ] заключается в использовании подхода, основанного на консенсусе кворума . Это позволяет подразделу с большинством голосов оставаться доступным, в то время как остальные подразделы должны перейти в режим автоматического ограждения . Одна из текущих реализаций этого подхода — та, которая используется наборами реплик MongoDB . [ 5 ] И еще одна такая реализация — репликация Galera для MariaDB и MySQL . [ 6 ]
Современные коммерческие кластеры высокой доступности общего назначения обычно используют комбинацию тактовых сетевых подключений между узлами кластера и хранилища кворума- свидетеля. Проблема с кластерами с двумя узлами заключается в том, что добавление устройства-свидетеля увеличивает стоимость и сложность (даже если оно реализовано в облаке), но без него в случае сбоя контрольного сигнала члены кластера не могут определить, какое из них должно быть активным. В таких кластерах (без кворума) в случае сбоя члена, даже если участники обычно назначают хостам первичные и вторичные статусы, существует как минимум 50% вероятность того, что двухузловой кластер высокой доступности полностью выйдет из строя до тех пор, пока не будет обеспечено вмешательство человека. , чтобы предотвратить независимую активность нескольких участников и прямой конфликт или повреждение данных.
Ссылки
[ редактировать ]- ^ Windows Server 2008 Active Directory, Настройка (2-е издание), остальное не знаю ISBN 978-0-7356-5193-7
- ^ Дэвидсон, Сьюзен; Гарсиа-Молина, Гектор; Скин, Дейл (1985). «Согласованность в разделенной сети: опрос». Обзоры вычислительной техники ACM . 17 (3): 341–370. дои : 10.1145/5505.5508 . hdl : 1813/6456 . S2CID 8424228 .
- ^ «Документация Hazelcast» . Проверено 16 февраля 2015 г.
- ^ Кулурис, Джордж; Доллимор, Джин; Киндберг, Тим (2001). Распределенные системы: концепции и проектирование (3-е изд., 1-е, 2-е и 3-е изд. изд.). Харлоу [ua]: Аддисон-Уэсли. ISBN 0201-61918-0 .
- ^ «Основы репликации MongoDB» . Проверено 12 декабря 2012 г.
- ^ «Взвешенный кворум в кластере Галера» . Проверено 17 декабря 2015 г.