awesome-everything EN
↑ Обратно к восхождению

Распределённые системы

Саги: тест на свободное воспроизведение

Суть Промпты на свободное воспроизведение сквозь юнит о сагах. Сначала ответь своими словами, потом раскрой образцовый ответ и сравни.
Высота — путь к senior
НольJuniorMiddleSenior
Ты на senior-высоте — в орбите
◷ 14 min

Воспроизведение бьёт перечитывание. На каждый промпт скажи или напиши полный ответ по памяти до того, как откроешь образцовый, — именно усилие припоминания закрепляет трейдоффы саги, когда столкнёшься с ними в реальном ревью дизайна.

Цель

Восстанови спину юнита, не подсматривая: почему 2PC ломается между сервисами, чем compensation отличается от rollback, choreography против orchestration, аномалии изоляции и фиксы на уровне приложения — включая idempotency.

Вспомните перед уходом
  1. 01
    Почему two-phase commit непригоден между микросервисами, хотя он корректен?
  2. 02
    Объясни, почему compensating transaction — не rollback базы, и как это меняет порядок шагов.
  3. 03
    Сравни choreography и orchestration и дай эвристику выбора.
  4. 04
    Что значит, что сага — это «ACID минус I», и какие три аномалии следуют?
  5. 05
    Назови контрмеры уровня приложения для потерянной изоляции саги и что делает каждая.
  6. 06
    Почему шаги и компенсации саги должны быть идемпотентны и как сделать шаг списания идемпотентным?
Итог

Если ты смог восстановить каждый ответ по памяти, ты держишь спину юнита: 2PC корректен, но держит межсервисные блокировки за блокирующим координатором, поэтому саги меняют глобальную транзакцию на локальные коммиты плюс написанные руками компенсации, которые суть новые прямые действия (необратимые ставь последними). Шаги связываешь choreography или orchestration по эвристике сложности, за потерю изоляции платишь semantic lock, коммутативными обновлениями и проверкой версии, а поскольку доставка at-least-once, каждый шаг и компенсация обязаны быть идемпотентны.

Продолжить восхождение ↑Саги: чтение кода
хоткеи развернуть
поиск
K
пред. пьеса
k
след. пьеса
j
тиры
t
это меню
?
sources3
expand
  1. 01
  2. 02
  3. 03

Trademarks belong to their respective owners. Editorial reference only.