У меня есть кластер из 5 контейнеров, в котором запущено одно и то же приложение.
Это приложение должно выполнять запланированную повторяющуюся задачу (каждые 10 минут).
Но эту задачу нужно выполнить только заодин контейнер кластера, а не во всех 5.
Как мне этого добиться?
Что я пытаюсь сделать, это запросить таблицу базы данных длякаждые 10 минут ищет новые записи и публикует их на сервере RabbitMQ, а затем удаляет записи этой базы данных.Таким образом, сообщения распределяются для обработки через все 5 контейнеров с одним и тем же приложением.
Я не могу выполнить одну и ту же задачу расписания одновременно во всех контейнерах, потому что все 5 контейнеров будут запрашивать одинаковые записииз базы данных и продублируйте сообщения в RabbitMQ.
Кроме того, я не хочу выполнять блокировку базы данных, чтобы позволить только одному контейнеру одновременно запрашивать базу данных, поскольку это не хорошо масштабируется, среди прочегопроблемы.