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