Мне любопытно, как подойти к ситуации обновления/перезагрузки приложения, использующего сообщения из Google Pub/Sub.
Например, меня особенно интересует разработка приложения Golang, которое развертывается в Kubernetes с несколькими модулями и использует сообщения из Google Pub/Sub. Меня беспокоит, как я могу гарантировать, что сообщения не будут пропущены (или обработаны дважды) во время обновления модуля.
Я понимаю, что приложение прочитает сообщение из подписки, а затем должно подтвердить его получение. Я чувствую, что может быть состояние гонки между подтверждением сообщения и отключением модуля для обновления?
Я знаю, что сделать что-то подобное можно с заданием потока данных, поскольку вы можете остановить потоковое задание и дать ему сигнал на удаление сообщений.
Я предполагаю, что должен быть какой-то способ изящно справиться с этим, или это действительно ситуация, когда Dataflow лучше подходит?