我有一种情况需要处理跨数据库事务。以下是详细要求:
我有 2 个 DB A 和 B
1) 两个 Db 最终必须同步。两个 Db 都必须是 EVENTUAL 一致性而不是严格一致性。A 记录可能存在于 DB A 中,并且可能在一段时间内不存在于 DB B 中。但最终它必须存在于两个数据库中
2)两个数据库都不支持事务/回滚
3) 一旦你在 Db B 中提交,你就不能撤销/删除它。但是你可以从 DB1 中删除一条记录
4)丢失一些数据是可以的。一天可能有 10 条记录
一种解决方案如下:
1) 写入 DB1
2)然后写入DB2
如果写入 DB2 失败,请使用 log4j 写入文件。然后将读取并重试此文件以将其保存在 DB2 中。这种方法可以吗?