场景: 同步 2 个数据库表,tableA<->tableB
框架: Spring Cloud
我的实现:
serviceA 的一个事务内,
需要调用 serviceB 的服务插入批量插入数据,
由于 serviceA 内是走循环分批读完百万数据,
每读取 1000 条就调用 serviceB 进行数据的插入操作,
目前不知道插到某一条( 10000 )失败的话,之前的 9999 条如何回滚?
1
fanfou 2019 年 7 月 9 日
txlcn
|
2
pifuant 2019 年 7 月 9 日
分布式事务成熟方案, 基本没有, 各种轮子罢了
|
3
hosaos 2019 年 7 月 9 日
你这数据同步,和事务也没啥关系吧,你报错了 直接删除 B 的所有相关数据,或者重新写入报错的数据到 B
|
4
zhangtao 2019 年 7 月 9 日
tcc
|
5
love 2019 年 7 月 9 日
为啥要回滚?不能接着上次断的位置插吗?
|
6
night98 2019 年 7 月 9 日
阿里开源了一款,不过分布式事务本身就基本上不可能满足你的这几个需求
|
7
Breadykid OP @hosaos 就是不知道怎么删除 B 里的本次事务操作的所有数据,首先不能清表,有历史数据,其次,这个表里的字段是动态的,没有指定的主键或者唯一字段可以区分某一条数据
|
8
LeeSeoung 2019 年 7 月 10 日
seata
|
9
Breadykid OP |
10
Breadykid OP |