← вернуться в ленту
ARTICLE20 мая 2024· Архитектура· Easy

Partition Tolerance и Avability - это не одно и тоже

Если не зубришь систем дизайн, то можно и немного запутаться в разнице, а вот не надо этого делать) Надо стараться говорить на одном языке со всеми.

Часто при обсуждении с коллегами сталкиваюсь с упоминанием теоремы CAP.

C - consistency

A - availability

P - partition tolerance

Напомню она гласит, что распределенная система может гарантировать 2 из 3х вышеперечисленных.

С буквой С aka "согласованность" - у нас более менее все понятно - на всех узлах у нас одна и та же информация.

А вот с буквами A и P - ситуация выглядит немного иначе. И порой можно услышать "у нас вместе с С будет и A и P и вообще какая разница, главное чтобы С".

Может показаться, что A и P имеют общую смысловую нагрузку и взаимосвязь: доступность, а как же получить это доступность без возможности разделять на партиции, но это не так.

Отличие кроется в потребителе конкретного свойства - для кого это:

  1. A. Доступность. Приоритет: доступ без сбоев из вне. Потребитель: конечный пользователь
  2. P. Устойчивость к разделению. Приоритет: выживание системы при авариях. Потребитель: инфрастуктура