如果您拥有事件驱动的体系结构并且订阅事件的服务必须等待多个事件(相同类型)才能继续创建链中的下一个事件,那么最佳做法是什么?
一个例子是图书订单处理服务,在创建订单已被选中的事件之前,必须等待订单中的每本图书由仓库处理,以便运送服务(或类似的东西)接收订单并开始准备运输.
您可以使用
Aggregator模式,也称为Parallel Convoy.
基本上,您需要有一些方法来识别需要聚合的消息,以及何时收集整个聚合集,以便可以开始处理.
没有外出和buying the book *,Apache Camel集成平台网站有一些关于实现聚合器模式的nice resource.虽然这显然是Camel特有的,但你可以看到涉及到什么样的东西.
*免责声明,我与Adison Wesley或本书的任何作者都没有任何关联……