我在运行Spring批处理作业时遇到技术问题。 Job简单地从DB(MongoDB)读取记录,对记录(聚合)进行一些计算并将记录结果写入另一个表。 读A,处理A,写入B记录 B是A的许多记录的聚合。 我想使用远程分块来垂直缩放我的系统,导致处理部分缩放和快速。 我面临的问题是我需要同步A记录,以便在将结果写入B时处理它们不会发生冲突。 如果我将10个A记录分发给4个从属,则在将聚合结果写入B时会发生冲突。
任何想法,如何在从主服务器向从服务器发送消息时添加同步策略?
提前致谢...
答案 0 :(得分:1)
如果你需要像你描述的那样同步数据,我建议不要使用远程分块并使用分区。这将允许您按A进行分区,并消除您遇到的同步问题。它还可以提供额外的吞吐量,因为每个从站运行一个处理器(与远程分块相同)。