Задать вопрос

Выполнение кода только на одном из запущенных инстансов nodejs сервиса?

Разрабатываю сервис на nodejs, который запускается в несколько инстансов. Есть функция, которая должна выполняться в фоне раз в N минут (сделать запрос к стороннему апи и сохранить результат).

Из-за того что сервис запущен в несколько инстансов, запрос к стороннему апи вызывается несколько раз. Как можно решить эту проблему, учитывая что:
- Нужна гарантия что скрипт выполниться в условиях, когда любой из инстансов может умереть (нельзя завязываться на одном "мастер-инстансе", тк он тоже может умереть).
- Нужна гарантия, что только на одном инстансе отработает функция.
  • Вопрос задан
  • 85 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@Everything_is_bad
ну например, общая очередь задач, но вопрос всё таки очень общий
Ответ написан
Комментировать
@vitaly_il1
DevOps Consulting
Зависит от того, на чем бежит сервис.
В Кубернетисе есть "распределенный cronjob", то же самое в AWS ECS насколько помню.
Если запускать без контейнеров, то БД или очередь можно использовать для этого.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы