Подготовка к собеседованию
SRE
18 уроков в линии
- 1Сигналы и PID 1Сигналы, зомби и PID 1: почему контейнер не останавливается по SIGTERM25 МИН
- 2cgroups и OOMKiller: кого убьют, почему в логе пусто и что на самом деле значит 137Понятнее после: Сигналы и PID 125 МИН
- 3Лимит дескрипторовToo many open files: чей это лимит, почему он не общий и что считается дескрипторомПонятнее после: Сигналы и PID 125 МИН
- 4Page cache и fsyncПочему «записали» и «не потеряется» — разные утвержденияПонятнее после: Сигналы и PID 125 МИН
- 5Очередь acceptСоединение установлено, а сервер о нём не знаетПонятнее после: Лимит дескрипторов20 МИН
- 6Таймауты и дедлайныТаймаут и дедлайн: почему клиент ушёл, а работа продолжаетсяПонятнее после: Очередь accept25 МИН
- 7Ретраи и джиттерПочему сервис падает во второй раз в момент восстановленияПонятнее после: Таймауты и дедлайны25 МИН
- 8Graceful shutdownОткуда берутся пятисотки при каждой выкаткеПонятнее после: Сигналы и PID 1 · Очередь accept20 МИН
- 9Очередь и хвостПочему рост нагрузки на 19 % даёт рост задержки вчетвероПонятнее после: Очередь accept25 МИН
- 10SLO и бюджет ошибок: почему «99,9 %» без окна не значит ничегоПонятнее после: Очередь и хвост25 МИН
- 11Health-checksТри разные проверки, которые зовут одним словомПонятнее после: Graceful shutdown · SLO и бюджет20 МИН
- 12Выкатка и откатПочему канарейка не помогает без нужного детектораПонятнее после: Graceful shutdown · Health-checks20 МИН
- 13Разрешение имениПриложение зовёт не DNS, а getaddrinfoПонятнее после: Таймауты и дедлайны30 МИН
- 14TLS-рукопожатиеЗа что платит первое соединениеПонятнее после: Разрешение имени25 МИН
- 15TIME_WAIT и портыTIME_WAIT и эфемерные порты: клиент упирается раньше сервераПонятнее после: TLS-рукопожатие25 МИН
- 16БалансировкаПочему случайный выбор двух бьёт круговой переборПонятнее после: Очередь и хвост25 МИН
- 17Консистентное хешированиеСколько ключей переезжает при смене составаПонятнее после: Балансировка25 МИН
- 18Идемпотентность«ровно один раз» бывает в эффекте, а не в доставкеПонятнее после: Ретраи и джиттер25 МИН
Финальная проверка: линия SRE
По одному вопросу на каждый урок линии. Здесь не пересказ, а те места, где механизм отвечает не так, как подсказывает опыт: код 137 без единой строки в логе, пик потребления, равный лимиту, соединение с сервером, который не звал accept, второй nameserver, удваивающий худший случай, возобновление TLS, которое не экономит круг, и канарейка, которая проиграла прямолинейной выкатке.
Финальная проверка1 / 18
Приложение — PID 1 в контейнере и не ставит обработчик SIGTERM. Оркестратор посылает SIGTERM с льготным сроком 30 секунд. Что произойдёт?