Разберите сложные случаи
Здесь можно отдельно изучить механизм, который вызвал вопросы в основном курсе. Каждый блок начинается с конкретной ситуации и разбирает, что система может гарантировать при конкурирующих запросах, задержках или сбоях.
Выберите нужную тему. Если термины пока незнакомы, сначала прочитайте указанные базовые главы. Правильный ответ на проверочный вопрос не заменяет самостоятельного разбора архитектуры.
Проверочные вопросы углублённых блоков: 0 из 8. Этот прогресс считается отдельно от 16 базовых глав.
Начать с первого блока: Согласованность: какие истории операций допустимы →1. Согласованность: какие истории операций допустимы
Различаем линеаризуемость, сериализуемость и snapshot isolation, воспроизводим write skew и проверяем обещания при разделении сети.
Перед разбором:
Открыть разбор →2. Консенсус: почему большинство ещё не доказательство
Разбираем журнал Raft, сроки и выборы, правило фиксации текущего срока, потерянный ответ и границу между консенсусом и внешним ресурсом.
Перед разбором:
Открыть разбор →3. Распределённые транзакции: решение, неизвестный исход и компенсация
Сравниваем 2PC и saga на бронировании с оплатой: падение координатора, зависшие подготовленные участники и позднее подтверждение платежа.
Перед разбором:
- Данные, SQL и последнее свободное место
- Очереди, события и длинные процессы
- Изменения без остановки и несколько регионов
4. Где заканчивается «ровно один раз»
Прослеживаем подтверждение через базу, брокер и внешний сервис; выбираем механизм для каждого окна сбоя.
Перед разбором:
- Очереди, события и длинные процессы
- Данные, SQL и последнее свободное место
- Надёжность и восстановление
5. Горячие ключи и перенос данных без второго владельца
Различаем перекос данных и запросов, разбиваем счётчики с учётом инвариантов и проводим переключение маршрута записи.
Перед разбором:
- Разбиение данных и выбор хранилища
- Как один сервис выдерживает рост нагрузки
- Репликация, согласованность и разделение сети
- Изменения без остановки и несколько регионов
6. Перегрузка: как не превратить замедление в отказ
Разбираем бюджеты времени и повторов, ограничение параллелизма, очереди и восстановление после каскадного сбоя.
Перед разбором:
- Как один сервис выдерживает рост нагрузки
- Очереди, события и длинные процессы
- Надёжность и восстановление
7. Регион недоступен: что можно обещать после переключения
Разбираем потерю подтверждённых записей, устаревших владельцев, согласованность сессии и управляемое возвращение региона.
Перед разбором:
- Репликация, согласованность и разделение сети
- Надёжность и восстановление
- Изменения без остановки и несколько регионов
- Очереди, события и длинные процессы
8. Миграции: перенести данные и не затереть новые записи
Согласуем фоновый перенос с текущими изменениями, проверим удаления, переключение чтения и возможность отката.
Перед разбором:
- Данные, SQL и последнее свободное место
- Очереди, события и длинные процессы
- Изменения без остановки и несколько регионов