При завершении pod работа в памяти может оборваться, а клиент получить ошибку или неизвестный результат. Сам факт тайм-аута не означает, что операция не успела совершиться.
Сервис обрабатывает запрос, начинает делать что-то, ретраить, а тут сам pod уходит на перезагрузку. Что произойдёт?
При завершении pod работа в памяти может оборваться, а клиент получить ошибку или неизвестный результат. Сам факт тайм-аута не означает, что операция не успела совершиться.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
При завершении pod работа в памяти может оборваться, а клиент получить ошибку или неизвестный результат. Сам факт тайм-аута не означает, что операция не успела совершиться.
Graceful shutdown прекращает приём новых запросов и даёт текущим ограниченное время. Длительные операции сохраняют состояние в надёжном хранилище или очереди; повтор выполняют с тем же ключом идемпотентности. Если бизнес-эффект уже зафиксирован, повтор не должен создавать его второй раз. Не полагайтесь только на defer: принудительное завершение процесса его не гарантирует.