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

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

Распределённый капстоун: проверка с выбором ответа

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

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

Цель

Убедись, что умеешь соединить кворумную репликацию, выборы лидера с fencing, логические часы, компенсации саги и дисциплину ретраев в одну систему — и найти шов, где два корректных слоя складываются в баг.

Викторина

Пайплайн заказа из четырёх сервисов иногда дважды возвращает деньги клиенту. Каждый сервис проходит свои юнит-тесты; платёжный идемпотентен для списаний; сага образцовая; у ретраев есть backoff и jitter. Где живёт баг?

Викторина

Оркестратор саги работает как избранный лидер. Он попадает в долгую паузу GC, его lease истекает, выбирается новый лидер — и тут старый просыпается и пытается записать шаг саги. Что реально мешает ему повредить состояние, которое новый лидер уже продвинул?

Викторина

Коллега предлагает упорядочивать шаги саги между сервисами сравнением wall-clock меток (Date.now()), чтобы держать порядок 'Payment до Shipping'. Почему сеньор это отвергает и какой механизм верный?

Викторина

Почему идемпотентность называют несущим примитивом пайплайна, а не просто одной из защит среди многих?

Викторина

Шторм ретраев усиливает мелкий сбой вниз по стеку до полного отказа: каждый слой повторяет слой под собой. Каков структурный фикс и какое число его якорит?

Викторина

Каждый дашборд сервиса зелёный, а пайплайн молча подводит клиентов. За каким набором сигналов сеньор реально следит, чтобы ловить провалы композиции?

Итог

Сквозная линия трека — одно дерево решений: кворум делает запись долговечной, лидер с fencing-токенами делает координацию безопасной для single-writer, логические часы упорядочивают шаги причинно, саги откатывают компенсациями, потому что распределённого ACID нет, а ретраям нужен бюджет, чтобы сбой не усилился. Идемпотентность по бизнес-намерению — несущий примитив, делающий at-least-once безопасным повсюду. Реальные провалы живут в швах — ретрай, заново стреляющий компенсацией без общего ключа — и ловишь ты их на сигналах швов, а не на зелёных дашбордах на сервис.

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

Trademarks belong to their respective owners. Editorial reference only.