CAP теорема

Версия 2.5 от Alexandr Fokin на 2022/11/11 19:27

CAP теорема

 

Понятие Split BrainСитуация 1: кластер расположен в одном сетевом сегменте, ноды кластера могут связываться друг с другом.
Ситуация 2: происходит потеря связи, распад на несколько сегментов, которые не могут передавать данные друг другу.

   
ConsistencyСогласованность данныхВ каждый момент времени все узлы возвращают одинаковые наборы данных по одним и тем-же агрегатам. Отсутствие рассинхронизации данных.
AvailabilityДоступность Каждый узел (не упавший) всегда успешно выполняет запросы (на чтение и запись)
Partition toleranceУстойчивость к разделениюНоды приложения продолжают работать, даже если связь между ними нарушена и синхронизация невозможна. В таком случае при запросе данных с разных нод мы можем получить различные агрегаты.

Невозможно в полной мере выполнять все 3 условия.
APВ случае невозможности синхронизации данных (Split Brain), все узлы продолжают работу, даже с учетом рассинхронизации данных.
CPВсе узлы системы перестают работать, если не могу синхронизировать данные между собой.
 Возможно ситуация, когда разрозненные сегменты имеет механизм принятия решения о том, стоит ли продолжать обрабатывать запросы.
Например: в случае если исходный кластер состоял из нечетного кол-ва узлов и распался на 2 сегмента, то сегмент, содержащий наибольшую кол-во узлов (относительно исходного кол-ва в кластере), продолжит работу.

Всё, что вы не знали о CAP теореме
https://habr.com/ru/post/328792

 

Теги: