Получить доступ

Что описывают три буквы в CAP?

JuniorCAP и согласованность
Ещё спрашивают так:
  • Расшифруйте CAP.
Коротко

C — согласованность (каждое чтение видит последнюю запись), A — доступность (каждый запрос получает ответ), P — устойчивость к разделению сети.

  • P неизбежна — выбор между C и A возникает только во время разделения
  • «Выбери любые два из трёх» — неточная формулировка

А ещё Без разделения можно иметь и C, и A

Так подсказку видит пользователь sotto на живом собеседовании — за пару секунд, пока вы думаете вслух.

Подробно

Распространённая неточность — «выбери любые два из трёх». На деле разделение сети в распределённой системе неизбежно, поэтому устойчивость к нему не выбирают, а принимают как данность. Реальный выбор возникает только в момент разделения: продолжать отвечать, рискуя отдать устаревшие данные, или отказывать в обслуживании ради согласованности.

Что хотят услышать

  • Расшифровка трёх букв.
  • Почему выбор — между C и A при разделении.

Частые ошибки

  • Понимать теорему как свободный выбор любых двух свойств.
  • Забывать, что вне разделения доступны и согласованность, и доступность.

Проверьте себя

Один верный вариант. Подумайте, потом откройте ответ.

Показать варианты и ответ
  • ✓Consistency, Availability, Partition tolerance — согласованность, доступность и устойчивость к разделению сети
  • ✗Cache, API, Performance — три уровня оптимизации системы
  • ✗Capacity, Availability, Persistence — ёмкость, доступность и сохранность
  • ✗Concurrency, Atomicity, Parallelism — свойства параллельной обработки

Что спросят дальше

  • Почему устойчивость к разделению нельзя не выбрать?
  • Что добавляет к этой картине PACELC?

Разбор темы

Связанные вопросы

Закрытая бета

Подсказки на собеседовании — в реальном времени

sotto слышит вопрос интервьюера и показывает короткий ответ и план, как в блоке «Коротко». Оставьте контакт — пришлём доступ и промокод.

  • Промокод на 2 часа — сверх пробных 30 минут
  • Программа для Windows — скачать сразу, войти — через Яндекс ID или VK ID
  • Прямая связь с разработчиком: что улучшить — сделаем