首页 > 解决方案 > 当多个侦听器收到相同的事件时,只处理一次事件

问题描述

我有一个应用程序可以收听邮件收件箱并处理每封传入的邮件。要求是此应用程序将具有多个实例以实现冗余和负载平衡 - 一个实例将处理该事件,而其他实例应忽略它。当我启动 2 个或更多实例时,它们都得到相同的事件,我不确定只制作一个实例(随机或循环)来处理事件的最佳做法是什么。

我考虑过创建一个同步服务,它将是一个 Singelton,所有实例在处理事件之前都应该向它发送请求,并且只有一个实例会收到处理它的 OK,而其他实例将被指示忽略它,但我是不确定这是否是最好的主意。

我无法集中在线查询以获取该问题的相关信息。我很高兴获得有关此问题的文章的任何参考资料或有关此问题的最佳实践的建议。

标签: javalistenerimapdistributed-system

解决方案


推荐阅读