Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

Dubbo 能做分布式事务吗?

先说出你的答案

定义边界、关键机制、一个反例;P8题再补容量、失败与验证。

查看完整题解

参考回答

直接回答

Dubbo 提供 RPC,可通过 Seata 等方案接入分布式事务。单独打开 Dubbo 调用或给本地方法加 @Transactional,不会让另一个服务的数据库自动参与同一个事务。

讲清原理

接入 Seata 后,需要协调器、参与方的事务或补偿配置,并让事务标识沿调用传递。两边能否一起结束,要看所选事务模式和参与方是否正确接入。网络超时后还要处理重复请求。

例子与易错点

订单写入后远程扣库存。库存若已经独立提交,订单本地回滚无法自行恢复库存。接入协调方案或使用可靠消息和幂等补偿,才能处理两边数据库更新只成功一部分的情况。

延伸阅读 Dubbo 的读操作和写操作怎么选容错策略? · Dubbo 的服务治理分别解决什么问题?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。