我正在尝试写入3个不同的数据库: MySQL,Oracle和MongoDB。要求是所有3个数据库都应处于一致状态。例如,如果写入MySQL和Oracle成功,而mongo失败(例如网络故障),那么应该有一种方法将失败的记录写回mongo,以保持所有3条记录的一致性。做这件事最好的方法是什么?我是否应该实现一个队列来存储失败的记录,并让一些后台进程从队列中读取记录,并尝试将其重新写入失败的数据库?
发布于 2014-07-11 06:21:46
你最好的选择可能是Java Transaction API (JTA)。我没有亲自使用过它,但它似乎是分布式事务的Java“行业标准”。
https://stackoverflow.com/questions/24687143
复制相似问题