【发布时间】:2014-08-02 15:34:18
【问题描述】:
您好,这可能是一个菜鸟问题,但我似乎无法为以下用例找到合适的解决方案:
在后端,我们有 x 个分布在虚拟机上的服务,每个都提供相同的服务(分布式复制)。这些服务都在一个分布式事件总线上监听(例如 Hazelcast)。
当一个事件到达时,比如 GetDataA,EventBus 基础架构一次将事件发送到每个后端服务。如果服务决定要处理事件,它会这样做并通过 EventBus 将数据返回给事件的发布者。
一旦服务决定要处理一个事件,EventBus 应该停止将该事件发送给其他侦听器(服务),并继续路由下一个事件(即它应该是非阻塞的)
所以这个解决方案需要一种异步运行的请求/响应分布式事件架构。
有谁知道这个领域有任何可扩展的解决方案。我看过 Hazelcast,但事件机制意味着所有侦听器都会收到事件。我查看了 Executor 服务,但这会将代码发送到其他节点,而我正在寻找的是另一个单个节点来处理请求。
【问题讨论】: