不同数据库同时添加数据,如何保证一致性

同时向两个服务器上的两个数据库里插入数据,怎么保证数据的一致性,要么全部成功,要么全部失败
A、B表都是N句SQL,相互关联要相互回滚的。A是访问A服务器上的数据库,B是访问B服务器上的数据库
A库事务开始
B库事务开始
插A
插B (失败),抛错
B结束
A结束

使用编程式事务,他又只访问一个数据库了

可以用Rocketmq可靠消息最终一致性实现分布式事务方案,或者启用本地事务