Распределённые системы
Распределённый капстоун: свободное воспроизведение
Воспроизведение бьёт перечитывание. На каждый промпт реконструируй полный ответ по памяти — охватывая несколько уроков трека — до того, как откроешь эталон. Усилие припоминания и есть то, что закрепляет синтез.
Реконструируй спину трека, не подглядывая: пересечение кворума, fencing против устаревшего лидера, логические часы, компенсации саги, бюджеты ретраев и ключ идемпотентности, связывающий их все в швах.
- 01Сформулируй правило кворума R + W > N и объясни, что каждая его сторона даёт в пайплайне заказа.
- 02Почему устаревший лидер не может защитить систему проверкой «лидер ли я ещё?» перед записью, и что её защищает?
- 03Почему нельзя упорядочивать события между сервисами по wall-clock меткам и что используют взамен?
- 04Почему нет распределённой ACID-транзакции на четыре сервиса и что заменяет rollback?
- 05Объясни усиление ретраев и бюджет ретраев, который его ограничивает.
- 06Почему идемпотентность — несущий примитив и что отличает корректный ключ от молча проваливающегося?
Если ты реконструировал каждый ответ по памяти, ты держишь спину трека: R + W > N даёт пересечение read-your-write, fencing-токены защищают от приостановленного устаревшего лидера, потому что самопроверка не может, логические часы или часы с ограниченной неопределённостью упорядочивают события, как wall-clock не может, саги заменяют распределённый ACID компенсациями, бюджеты ретраев ограничивают усиление, а идемпотентность по бизнес-намерению делает at-least-once безопасным через каждый шов. Инсайт капстоуна: каждый корректен по отдельности — провалы живут там, где они складываются.