软件工程 选择题 标准 ★ 精品

微服务数据管理与容错 — 软件工程选择题

软件体系结构 微服务体系结构 AI 三重审校通过

题目
某订单流程依次调用库存服务预留库存、支付服务扣款,各服务独立管理数据库,且不使用分布式全局事务。支付请求可能已成功但响应超时,系统还需在服务故障恢复后避免重复扣款并最终处理订单。以下哪种方案最合适? A. 各服务共享同一数据库,调用失败时由订单服务直接回滚所有表 B. 使用 Saga 管理本地事务与补偿;支付以订单号作幂等键,并通过事务性发件箱可靠发布事件 C. 超时即无限次重发支付请求,不记录请求状态,待服务恢复后再核对 D. 将库存与支付数据复制到订单数据库,由订单服务定期覆盖各服务数据