我的任务是开发数据转换管道的架构。从本质上讲,数据来自一端,并通过各种内部系统进行路由,获取不同的形式,然后到达目的地。
主要目标是 -
- 容错。如果中间系统之一发生故障,该消息应该是可恢复的。
- 重播/重新排序 - 消息可以从任何阶段重播,并且应该可以以幂等方式重新创建事件。
我有一些自定义解决方案要解决
- 实施一个检查点系统,可以在每个检查点的入口和出口点记录一条消息,以便我们知道发生故障的位置。
- 实现一种恢复机制,可以转到记录的存储(数据库、日志文件等)并以编程方式重建事件。
但是,我觉得这是一个相当标准的问题,具有明确的解决方案。
所以,我欢迎任何关于合适架构的想法,任何工具/包/模式参考等等。
谢谢