Данный сценарий:
У меня есть сервис, предоставляющий API, который позволяет мне получать элементы из БД. Эта служба полностью не имеет состояния и поэтому может быть реплицирована так, как мне хотелось бы.
Кроме того, у меня есть вторая служба, работа которой заключается в том, чтобы периодически (скажем, каждую минуту) извлекать все элементы, которые есть на данный момент. в БД (через вышеупомянутый API) и выполнить некоторые логики c для каждого элемента.
Вопрос:
Если бы мне пришлось копировать второй сервис, каждую минуту я получал бы две службы, выполняющие одну и ту же логику c, которая расточительна и не распределяет нагрузку.
Какой будет правильный архитектурный шаблон, чтобы сделать второй сервис без сохранения состояния и разрешить распределение логики c, сохраняя при этом, что каждую минуту я выполняю свою логи c ровно один раз для каждого элемента в БД?
Я рассмотрел вопрос об использовании очереди, но это оставляет проблему периодической загрузки элементов (или «заданий») в очередь, которая по-прежнему логична c Я не могу выполнить репликацию на несколько экземпляров, не выполнив ту же работу. Вайс.