Как правильно ограничить выполнение функции в нескольких репликах пода?
Добрый день.
Имеется приложение развернутое в EKS AWS, бэкэнд, с несколькими репликами, с фронта можно инициализировать запуск довольно долгой и тяжелой операции. Проблема в том, что если несколько людей будут обращаться к разным репликам, то они смогут запустить данную операцию одновременно несколько раз, что довольно бессмысленно (Сейчас стоит проверка в коде бэкэнда). Как правильно ограничить выполнение так, что если операция выполняется на одной из реплик, она прерывалась на других?
Мне в данный момент на ум приходит только расшаренный каталог (EFS например) между контейнерами и проверка по наличию в нем файла, например. Но это выглядит довольно топорно.
Поскольку у тебя EKS/AWS лучше всего использовать Parameter Store, куда ты дашь доступ своим подам, через eks service accounts. Они будут считывать параметры (переменные) и из значения при запуске своего функционала. Если значение заблокировано/изменено первым pod, то соответственно операции пойдут по другому пути.