Изменения документа CAP теорема
Редактировал(а) Alexandr Fokin 2024/01/04 19:49
<
>
отредактировано Alexandr Fokin
на 2022/11/11 19:16
на 2022/11/11 19:16
отредактировано Alexandr Fokin
на 2022/11/11 19:27
на 2022/11/11 19:27
Изменить комментарий:
К данной версии нет комментариев
Комментарий
-
Свойства страницы (1 изменено, 0 добавлено, 0 удалено)
Подробности
- Свойства страницы
-
- Содержимое
-
... ... @@ -1,18 +1,23 @@ 1 1 CAP теорема 2 - 2 +\\ 3 3 4 +|(% style="width:164px" %)Понятие Split Brain|(% style="width:1318px" %)Ситуация 1: кластер расположен в одном сетевом сегменте, ноды кластера могут связываться друг с другом. 5 +Ситуация 2: происходит потеря связи, распад на несколько сегментов, которые не могут передавать данные друг другу. 6 + 4 4 ---- 5 5 6 6 |(% style="width:107px" %) |(% style="width:199px" %) |(% style="width:1176px" %) 7 7 |(% style="width:107px" %)Consistency|(% style="width:199px" %)Согласованность данных|(% style="width:1176px" %)В каждый момент времени все узлы возвращают одинаковые наборы данных по одним и тем-же агрегатам. Отсутствие рассинхронизации данных. 8 -|(% style="width:107px" %)Availability|(% style="width:199px" %)Доступность|(% style="width:1176px" %)Каждый работающийузелвозвращаетданные(отвечаетнапоступающие запросы),возможнонесинхронизированныес другиминодами(неконсистентные).11 +|(% style="width:107px" %)Availability|(% style="width:199px" %)Доступность|(% style="width:1176px" %) Каждый узел (не упавший) всегда успешно выполняет запросы (на чтение и запись) 9 9 |(% style="width:107px" %)Partition tolerance|(% style="width:199px" %)Устойчивость к разделению|(% style="width:1176px" %)Ноды приложения продолжают работать, даже если связь между ними нарушена и синхронизация невозможна. В таком случае при запросе данных с разных нод мы можем получить различные агрегаты. 10 10 11 11 ---- 12 12 13 13 |(% colspan="2" %)Невозможно в полной мере выполнять все 3 условия. 14 -|(% style="width:79px" %)AP|(% style="width:1403px" %)В случае невозможности синхронизации данных (разрыв сети, невозможность распространить изменения на все узлы кластера), все узлы продолжают работу, даже с учетом рассинхронизации данных. 15 -|(% style="width:79px" %)CP|(% style="width:1403px" %)Все узлы системы перестают работать, если не могу синхронизировать данные между собой. 17 +|(% style="width:69px" %)AP|(% style="width:1413px" %)В случае невозможности синхронизации данных (Split Brain), все узлы продолжают работу, даже с учетом рассинхронизации данных. 18 +|(% style="width:69px" %)CP|(% style="width:1413px" %)Все узлы системы перестают работать, если не могу синхронизировать данные между собой. 19 +|(% style="width:69px" %) |(% style="width:1413px" %)Возможно ситуация, когда разрозненные сегменты имеет механизм принятия решения о том, стоит ли продолжать обрабатывать запросы. 20 +Например: в случае если исходный кластер состоял из нечетного кол-ва узлов и распался на 2 сегмента, то сегмент, содержащий наибольшую кол-во узлов (относительно исходного кол-ва в кластере), продолжит работу. 16 16 17 17 ---- 18 18 ... ... @@ -20,4 +20,4 @@ 20 20 https://habr.com/ru/post/328792 21 21 22 22 23 - ПонятиеSplit brain28 +