我正在使用camel来实现一个路由,它从DB加载数据,然后在生成再次保存在DB中的结果之前对其应用一些处理。 这是Web应用程序的一部分。
我的问题是这场战争将由负载均衡器部署到两台服务器中。然后将有两个camel上下文,其中两个路由在同一个DB上执行相同的处理。
我将遇到两条路线正在处理相同记录的情况。如何处理此问题以防止路由执行两次相同的作业?
答案 0 :(得分:0)
如果您需要进行该设置以便每个服务器可能会收到相同的记录 - 那么您需要idempotent route。而且您需要确保您的机器之间的幂等存储库是相同的。使用数据库作为存储库是一个简单的选择。如果您没有数据库,可以选择使用淡褐色回购。
可能存在的问题是确定记录中的唯一内容 - 例如订单号或客户+日期/时间或某些增加的交易ID号。