Обрабатывать событие только один раз, когда много слушателей получают одно и то же событие - PullRequest
0 голосов
/ 31 марта 2020

У меня есть приложение, которое прослушивает почтовый ящик и обрабатывает каждое входящее письмо. Требование состоит в том, что это приложение будет иметь несколько экземпляров для избыточности и для распределения нагрузки - один экземпляр будет обрабатывать событие, а другие должны его игнорировать. Когда я запускаю 2 или более экземпляров, все они получают одно и то же событие, и я не уверен, как лучше всего создать только один экземпляр (случайный или циклический) для обработки события.

I подумал о создании службы синхронизации, которая будет Singelton, которой все экземпляры должны отправлять запрос перед обработкой события, и только один из них получит OK для его обработки, в то время как другим будет дано указание игнорировать его, но я не уверен, что это лучшая идея.

Я не смог сосредоточить свои запросы в Интернете, чтобы получить соответствующую информацию по этой проблеме. Я был бы рад получить любые ссылки на статьи об этой проблеме или предложения для лучших практик для этой проблемы.

...