Java 一种可伸缩的事件重构体系结构
我的任务是开发数据转换管道的体系结构。 从本质上讲,数据从一端进入,并在到达目的地之前通过各种内部系统以不同的形式进行路由 主要目标是-Java 一种可伸缩的事件重构体系结构,java,architecture,jvm,replay,Java,Architecture,Jvm,Replay,我的任务是开发数据转换管道的体系结构。 从本质上讲,数据从一端进入,并在到达目的地之前通过各种内部系统以不同的形式进行路由 主要目标是- 容错性。如果其中一个中间系统出现故障,则该消息应可恢复 重播/重新排序-消息可以从任何阶段重播,并且应该能够以幂等方式重新创建事件 我有一些定制解决方案要解决 实现一个检查点系统,在该系统中,可以在每个检查点的入口点和出口点记录消息,以便我们知道故障发生的位置 实现一种恢复机制,该机制可以转到已记录的存储(数据库、日志文件等)并以编程方式重建事件 然而
- 容错性。如果其中一个中间系统出现故障,则该消息应可恢复
- 重播/重新排序-消息可以从任何阶段重播,并且应该能够以幂等方式重新创建事件
- 实现一个检查点系统,在该系统中,可以在每个检查点的入口点和出口点记录消息,以便我们知道故障发生的位置
- 实现一种恢复机制,该机制可以转到已记录的存储(数据库、日志文件等)并以编程方式重建事件
在许多情况下(幂等接收器),至少一次传送就足够了。这可以通过使用同步事务发送消息(即,只有在代理确认收到消息后,发送方才能成功),并且只有在处理完消息后才使用消息来实现 如果邮件不能在传输过程中丢失,您还需要重播功能吗?也就是说,您是否需要重播来处理丢失的消息,或者是否存在将系统回滚到以前状态的实际业务原因?将系统回滚到以前状态没有任何用处。它主要是重放丢失的消息,无论它们在哪里丢失。