我们有 2 个基于交易流程交换票证的系统,如果一个状态没有到达一个系统,所有流程都被卡住,他们在票证状态中有一个订单。问题是我们在这个系统之间使用了一个多线程、负载平衡的消息代理,并且我们可能会遇到 update1 状态可以比 create 更快的情况,或者 update2 比 update1 更快的情况。
我正在寻找这种集成的最佳实践。
我们有 2 个基于交易流程交换票证的系统,如果一个状态没有到达一个系统,所有流程都被卡住,他们在票证状态中有一个订单。问题是我们在这个系统之间使用了一个多线程、负载平衡的消息代理,并且我们可能会遇到 update1 状态可以比 create 更快的情况,或者 update2 比 update1 更快的情况。
我正在寻找这种集成的最佳实践。
听起来您需要实现 Scatter-Gather EIP:
http://www.eaipatterns.com/BroadcastAggregate.html
在 IBM Integration Bus 或 WebSphere Message Broker 中,您可以设置聚合超时以确保仅在拥有聚合的所有组件时才继续执行聚合后流程。
聚合中未出现的任何部分都可以超时并单独处理。