首页
注册
登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请
登录
V2EX
›
程序员
关于事务里面有无法回滚的操作的问题
1
deku9
·
243 天前
· 1067 次点击
这是一个创建于 243 天前的主题,其中的信息可能已经有所发展或是发生改变。
如果一个事务里面有比如说一些不支持事务的操作,比如 rpc 调用,es ,文件写入等不能回滚的操作。如果数据库写入失败要回滚,但是这些操作回滚不了怎么办?
事务
操作
RPC
滚
4 条回复
•
2024-02-24 10:02:31 +08:00
1
vczyh
243 天前
一般来说一个事务只操作数据库,完成之后再操作其他的,为了防止后者失败,可以异步检查是否操作成功,失败的话补偿。
2
lifei6671
243 天前
要么引入分布式事务。要么做最终数据一致性校验就行。根据业务的不同,看看是先入库再调用 RPC ,还是先调用 RPC 再入库。只要做好幂等性,上下游重试即可。
3
deku9
OP
243 天前
@
lifei6671
大佬,我这里应该不涉及分布式事务吧,我的意思是其他操作不支持事务。然后如果我想尽量保障实时的一致性有什么好办法吗。一般做重试就行嘛,还是说这种场景一定要最终一致性校验
4
lifei6671
242 天前
@
deku9
重试+最终一致性就行。目前我们的业务也是这么做的。
关于
·
帮助文档
·
博客
·
API
·
FAQ
·
实用小工具
·
1048 人在线
最高记录 6679
·
Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 25ms ·
UTC 22:33
·
PVG 06:33
·
LAX 15:33
·
JFK 18:33
Developed with
CodeLauncher
♥ Do have faith in what you're doing.