Вопрос проверяет понимание распределенных систем и компромиссов теоремы CAP.
Теорема CAP утверждает, что система не может одновременно гарантировать согласованность, доступность и устойчивость к разделению сети. При сетевых сбоях приходится выбирать между согласованностью и доступностью. Поэтому на практике системы проектируются как CP или AP. Выбор зависит от требований бизнеса и допустимых ошибок.
В распределенных системах сетевые сбои считаются неизбежными, поэтому выбор делается осознанно.
Определение:
CAP описывает ограничения распределенной системы при сетовом разделении.
Компоненты:
Consistency — все узлы видят одинаковые данные
Availability — каждый запрос получает ответ
Partition tolerance — система работает при потере связи между узлами
При разделении сети система обязана выбрать:
либо возвращать корректные данные
либо отвечать на запросы, даже если данные устарели
Характеристики:
при конфликте система отказывает в обслуживании
данные всегда согласованы
типично для финансовых и критичных систем
Характеристики:
система всегда отвечает
возможна временная несогласованность
данные со временем приводятся в порядок
Перед выбором важно ответить на вопрос, что хуже:
временно не принимать запросы
или временно показывать некорректные данные
Выбор между CP и AP — это бизнес-решение, зависящее от цены ошибки и требований к доступности.