Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
415 views
in Technique[技术] by (71.8m points)

TCC中如果try方法内部有多个sql操作,由于分库不能在一个事务完成怎么办?

假如try方法内部是一批数据库插入和更新的操作,相关的表在不同的库上,所以不能做成一个本地事务,这种情况怎么办?
比如try方法操作后,有部分数据库操作提交,有部分没有,cancel也不好处理啊


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

Please log in or register to answer this question.

1 Answer

0 votes
by (71.8m points)

TCC的try阶段是尝试阶段,都成功后才则有TCC推动执行各个本地的confirm,会一直尝试。

这里如果你是单个应用写不同的数据库,这个不能叫分布式事务,而且本身设计层面也不应该这么做。分布式事务是一个应用调用多个其他应用共同组成事务,要么都成功,要么都失败。


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome to JiKe DevOps Community for programmer and developer-Open, Learning and Share
...