У нас есть микросервис, который разработан с использованием пружинной загрузки.пара функций, которые он реализует:
1) Планировщик, который запускает загрузку файла с помощью webhdfs в указанное время и обрабатывает его, а после обработки данных он отправит электронное письмо пользователям с данными.резюме процесса.2) Чтение сообщений от kafka и после прочтения данных отправьте пользователям электронное письмо.
В настоящее время мы планируем сделать это приложение доступным как в Active-Active, так и в Active-пассивной настройке.Проблема, с которой мы сейчас сталкиваемся, заключается в том, что если оба экземпляра приложения работают, они оба попытаются загрузить файл / прочитать данные из kafka, обработать его и отправить электронные письма.Как этого можно избежать?Я хочу убедиться, что только один экземпляр запускает загрузку и обрабатывает его?
Пожалуйста, дайте мне знать, если есть известное решение для такого рода сценариев, так как это кажется распространенным сценарием в большинстве проектов?Является ли выбор между главным и подчиненным / лидером правильным решением?
Спасибо