Как обеспечить 99,95%
Вопрос
Сервису нужен SLO доступности 99,95%. Что вы заложите в архитектуру и процессы?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Посчитать бюджет: около 22 минут в месяц
Нет единых точек отказа: несколько экземпляров в нескольких зонах, резерв балансировщика
БД с репликой и автоматическим failover
Безопасные релизы: канареечные выкладки, быстрый откат, feature flags
Таймауты, circuit breaker, деградация при отказе зависимостей
Алерты на симптомы и сжигание бюджета, дежурства, разбор инцидентов
Что могут спросить следом
- Какой SLO у ваших зависимостей и как он влияет на ваш?
- Как проверить, что failover работает?
Разбор
99,95% это около 22 минут простоя в месяц, а ручное восстановление БД столько и займёт, значит всё должно переключаться автоматически. Каждый сервис минимум в двух экземплярах в разных зонах, балансировщики тоже резервированы. PostgreSQL с синхронной или асинхронной репликой и Patroni для failover. Учитываю зависимости: если наш сервис последовательно зовёт три сервиса по 99,9%, мы не получим 99,95% без кеша и деградации. Большинство аварий от релизов, поэтому канареечные выкладки и быстрый откат. Алерты на рост ошибок и скорость сжигания бюджета, дежурства и постмортемы без поиска виноватых. Failover регулярно проверяю учениями.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.