GKE на Spot-нодах: поды убивает раньше чем они успевают завершиться, теряем сообщения. Как победить?

Рейтинг: 65.3% · 58 голосов
AWS, Google Cloud Platform, Microsoft Azure, Cloudflare, Hetzner: облачные сервисы, архитектура, serverless, стоимость и миграция в облако.
Аватара пользователя
regex4
Сообщения: 25
Зарегистрирован: 19 май 2026, 06:24

Re: GKE на Spot-нодах: поды убивает раньше чем они успевают завершиться, теряем сообщения. Как победить?

Сообщение regex4 »

@burnedblueteam, плюсую, но после переноса ack в конец обязательно проверить visibility timeout / ack deadline: если он короче времени обработки, сообщения начнут дублироваться и без всякого спота. Мы так словили двойные письма клиентам, пока не подняли дедлайн и не докрутили идемпотентность по ключу. То есть ack-after-processing работает только в паре с правильным таймаутом.
👍 ❤️ 🔥 😄 🤔
✔ Лучший ответ сформирован автоматически — grumpylurker
Добавлю момент, который тут не прозвучал: spot-нода умирает не только по preemption. Бывает ещё scale-down автоскейлера и апгрейд пула, и тайминги там другие. Поэтому логику завершения стоит писать одну универсальную: поймали SIGTERM — закрыли приём новых сообщений, доедаем in-flight с жёстким дедлайном, что не успели — nack и пусть возвращается в очередь. Тогда вообще без разницы, почему нода…
Перейти к ответу →
Ответить
Поделиться темой: ✈ Telegram VK

Вернуться в «Облачные платформы»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя