@beduin01

Нужна ли очередь? Если да то какая?

Есть некий сервис, который на входе принимает конфиг, на основании конфига генерирует запрос к БД, получает задачи для обработки и обрабатывает файлы.
Чтобы ускорить обработку сделал 8 конфигов, и запускаю 8 экземпляров сервиса. По количеству ядер.
Вылезла проблема - сложно сделать так, чтобы конфиги равномерно распределяли задачи. Может получиться что для первого конфига 1000 файлов, а для всех остальные по 100 (условно).

Появилась идея, сделать какой-то сервис, который выгребает порцию файлов и просто равномерно раскидывает их каждому приложению.

Вопрос - нужны ли мне очереди?
  • Вопрос задан
  • 46 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Sundagy
BEADS
Одно приложение принимает конфиг, делает запрос к БД, получает задачи и пихает их в RabbitMQ.
Второе приложение в нескольких потоках (или инстанцах, можно даже на разном железе) последовательно читает очередь RabbitMQ с задачами, и выполняет их. Тем самым равномерно распределяя задачи по исполнителям.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы