何时使用事件总线?[已关闭]
我正在为一个新的Java Web应用程序设计后端,并试图决定是否使用事件总线;特别是番石榴事件巴士
。
大多数服务器端请求将是同步的:也就是说,用户正在请求数据,需要在几秒钟内做出响应。但是,也有相当多的请求可以是异步的,并且在客户端上是“即发即忘”。只要它们最终被处理,客户端就可以不那么关心是否需要2秒或2个小时来处理。
对于这些异步请求,我计划让在映射的 URL 上侦听的 servlet 将请求发布到队列。然后,使用者将取消每个请求的队列,并将其路由到相应的处理程序。这是可能起作用或可能不会发挥作用的地方。将请求路由到正确处理程序的业务逻辑非常复杂。通常,骆驼路线将是完美的解决方案。在我的用例中,我想知道我是否可以将一堆“处理器”(事件处理程序)连接到同一事件总线,然后让每个处理器相互触发和接收事件,直到产生最终结果。EventBus
我想说的是,我已经探索过使用Apache Camel,并且我确实相信Camel是这里工作的正确工具。可悲的是,由于这个问题范围之外的原因,我不打算使用它。因此,我开始想出类似骆驼的解决方案,这就是我到达番石榴的方式。但它可能不是一个合适的替代品。EventBus
我想我正在寻找事件总线
模式解决的问题分类,然后我需要确定它是否与我在这里的用例相匹配。