我们有两个基于事务流交换票证的系统,它们在票证状态中有一个订单,如果一个状态没有到达一个系统,那么所有的流都会被阻塞。问题是,我们在这些系统之间使用了一个多线程、负载平衡的消息代理,并且我们可能会遇到这样的情况:update1状态的处理速度比create快,update2的处理速度也比update1快。
我正在寻找这种集成的最佳实践。
这听起来像是您需要实现分散收集EIP:
http://www.eaipatterns.com/BroadcastAggregate.html
在IBM Integration Bus或WebSphere Message Broker中,您可以设置聚合超时,以确保只有在拥有聚合的所有组件的情况下才能继续执行聚合后流。
聚合中没有的任何部分;t的出现可以超时并单独处理。