java - 当多个侦听器收到相同的事件时,只处理一次事件
问题描述
我有一个应用程序可以收听邮件收件箱并处理每封传入的邮件。要求是此应用程序将具有多个实例以实现冗余和负载平衡 - 一个实例将处理该事件,而其他实例应忽略它。当我启动 2 个或更多实例时,它们都得到相同的事件,我不确定只制作一个实例(随机或循环)来处理事件的最佳做法是什么。
我考虑过创建一个同步服务,它将是一个 Singelton,所有实例在处理事件之前都应该向它发送请求,并且只有一个实例会收到处理它的 OK,而其他实例将被指示忽略它,但我是不确定这是否是最好的主意。
我无法集中在线查询以获取该问题的相关信息。我很高兴获得有关此问题的文章的任何参考资料或有关此问题的最佳实践的建议。
解决方案
推荐阅读
- php - 当我在 laravel 控制器中执行此查询时,我在 commune2 中有一个空结果
- python - 我必须开发一个函数,按人声数量升序对字符串列表进行排序,如果有平局,则按第一个人声
- c++ - 我的可变参数模板构造函数隐藏了复制构造函数,防止类被复制
- java - 必须为状态设计模式选择目的地
- unit-testing - 在检查 Jasmine .toHaveBeenCalled() 时“预期是间谍,但得到了功能”
- azure - 使用 Azure AD 图形和 Microsoft Graph,我所属的组的数量会有所不同
- excel - 具有 >1 个标准的小计
- .net-core - dontnet 应用程序找不到 dll 依赖项 (Linux) (Focas-lib)
- swift - SwiftUI 中的 2D 滑块/触控板
- android - 材质卡视图更改波纹颜色