我热衷于在新项目中使用 ESB(可能是 WSO2、Mule、Petals 或 Service Mix)。
我有许多可以在 ESB 中很好地工作的业务流程/工作流:但是我在一个特定的场景中苦苦挣扎。
基本要求是通过多个阶段处理传入的二进制文件:
- 使用外部工具预处理文件;
- 根据一些配置数据拆分文件;
- 处理每个较小的文件以计算“分数”。其中一些将由我将编写的代码处理,但在某些情况下也会调用外部软件;
- 将所有计算的分数加载到数据库中。这必须在流程结束时完成,而不是增量完成(因为只有在处理文件期间才能找到主键);
- 将初始文件移动到存档区域。
传入的文件将被放入本地目录。所有工具都支持对目录进行轮询,因此这不是问题。
但是,根据我阅读的内容,大多数工具都希望消息的有效负载易于阅读,以便可以直接在有效负载上执行处理。在我的情况下,我只想使用传入文件来生成我的真实有效负载数据:我将写入数据库的值。
这是 ESB 可以支持的模式吗?是否有关于使用上述任何工具进行此类数据处理的文章?我应该看看其他技术/模式吗?
希望这是有道理的!
非常感谢,
肯