Другой вариант - использовать очередь, подобную ActiveMQ, вместо REST.
cronjob-service
выбирает книги и проверяет данные, например. Вы можете хранить данные где-нибудь в формате файла, например CSV. Это может быть сохранено в S3 Bucket на AWS или что-то в этом роде. cronjob-service
затем отправляет ссылку на этот файл через очередь, а database-service
выбирает данные и сохраняет их.
Преимущество перед REST заключается в том, что задача не может быть потеряна. Если вы по database-service
не работаете или по какой-то причине заняты, запрос REST вернет 404, и вы должны реализовать против него отказоустойчивость. В очереди задача сохраняется в очереди. Даже если экземпляр database-service
начинает обрабатывать задачу и по какой-то причине не выполняется, задача все еще находится в очереди, а другой экземпляр database-service
может ее взять и обработать.