系统架构设计师 · 高频练习

Saga 模式为什么常用于分布式事务补偿?

高级 单选题 第 232 题 中等 系统架构设计师Saga分布式事务最终一致性
题目

某订单流程需要依次完成创建订单、扣减库存、扣款和发放权益。系统不希望长时间锁住多个服务的数据库,而是把大事务拆成一系列本地事务;如果后续步骤失败,则执行取消订单、恢复库存、退款等补偿动作。该思路更接近()。

A Saga 补偿事务模式
B 单机文件压缩
C 显示器亮度调节
D 关闭所有业务日志
题目类型:原创高频考点题 用途:用于帮助理解系统架构设计师相关考点和答案解析,不等同于官方真题。
书木兰刷题练习 适合懒人、小白的刷题通关平台
正确答案
A
答案解析

Saga 将跨服务的长事务拆成多个本地事务,每个本地事务完成后推动下一步;一旦某一步失败,就通过补偿事务撤销或修正前面已经完成的业务影响。它强调最终一致性和业务补偿,适合微服务场景下不便使用强一致长事务的业务流程。

选项分析

A

正确。Saga 通过本地事务和补偿事务处理跨服务一致性问题。

B

错误。文件压缩与分布式事务无关。

C

错误。亮度调节不是架构事务模式。

D

错误。关闭日志会降低排障和审计能力。

本题为什么容易错

这题容易一看到事务就想数据库 ACID。Saga 不是传统单库事务,它更偏分布式业务流程协调,用补偿动作处理失败后的状态修正。

先看结论

简短答案

Saga 模式为什么常用于分布式事务补偿,正确答案是 A(Saga 补偿事务模式)。Saga 将跨服务的长事务拆成多个本地事务,每个本地事务完成后推动下一步;一旦某一步失败,就通过补偿事务撤销或修正前面已经完成的业务影响。它强调最终一致性和业务补偿,适合微服务场景下不便使用强一致长事务的业务流程。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
Saga 补偿事务模式 本题正确答案 正确。Saga 通过本地事务和补偿事务处理跨服务一致性问题。 看到题干核心场景时优先联想到它
单机文件压缩 本题干扰项 错误。文件压缩与分布式事务无关。 看到该词不要急着选,先判断是否真正解决题干问题
显示器亮度调节 本题干扰项 错误。亮度调节不是架构事务模式。 看到该词不要急着选,先判断是否真正解决题干问题
关闭所有业务日志 本题干扰项 错误。关闭日志会降低排障和审计能力。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 单机文件压缩:错误。文件压缩与分布式事务无关。
  • 显示器亮度调节:错误。亮度调节不是架构事务模式。
  • 关闭所有业务日志:错误。关闭日志会降低排障和审计能力。
复习

知识点详解

Saga是系统架构设计师考试中需要结合场景理解的考点。围绕“Saga 模式为什么常用于分布式事务补偿”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“某订单流程需要依次完成创建订单、扣减库存、扣款和发放权益。系统不希望长时间锁住多个服务的数据库,而是把大事务拆成一系列本地事务;如果后续步骤失败,则执行取消订单、恢复库存、退款等补偿动作。该思路更接近()”,它指向的核心答案是 A(Saga 补偿事务模式)。

备考速记

备考速记:题干如果强调“最终一致性”中的关键目标,就先联想到 Saga;如果选项里出现 单机文件压缩、显示器亮度调节、关闭所有业务日志,不要只看名称熟悉,要判断它们是否真正对应题干场景。

Saga 在最终一致性场景中的作用

Saga在本题中的核心价值,是解决“某订单流程需要依次完成创建订单、扣减库存、扣款和发放权益。系统不希望长时间锁住多个服务的数据库,而是把大事务拆成一系列本地事务;如果后续步骤失败,则执行取消订单、恢复库存、退款等补偿动作。该思路更接近()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出最终一致性场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查Saga的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把Saga和单机文件压缩、显示器亮度调节、关闭所有业务日志放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
Saga 在系统架构设计师软考中的考法

软考选择题通常不会只考概念定义,还会把Saga放到最终一致性场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

题干里有创建订单、扣库存、扣款、失败后补偿,这就是 Saga 的味道。老师讲分布式事务时会提醒:微服务里不能总指望一个数据库事务包住全世界,很多时候要靠业务补偿把结果拉回合理状态。

考点定位

Saga 题的关键词是多个本地事务、补偿动作、最终一致性、订单库存支付等跨服务流程。

易错提醒

  • 补偿动作没有设计清楚,失败后只能人工修数据。
  • 认为 Saga 能保证每一刻都强一致,忽略中间状态。
  • 没有考虑补偿动作本身也可能失败,需要重试和告警。

备考提示

  • 系统架构设计师复习分布式一致性时,把 2PC、TCC、Saga、最终一致性放在一起比较。
  • 订单、库存、支付这类跨服务流程,是 Saga 题最常见的场景。

你可能还想了解

  • Saga 模式为什么常用于分布式事务补偿?
  • Saga是什么?
  • Saga在系统架构设计师考试中怎么考?
  • 系统架构设计师Saga题怎么理解?
  • Saga模式怎么处理分布式事务怎么考?
  • 分布式事务补偿机制怎么考?

本文小结

本题核心考点是Saga在最终一致性场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(Saga 补偿事务模式)。