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

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

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

题目
某预约微服务将每次预约变更先写入本地数据库,再异步发布事件;服务可能在数据库提交后、事件发布前崩溃。要求不使用分布式事务,确保已提交的变更最终可被下游处理,且重复投递不会重复生效。以下哪种方案满足要求? A. 先发布事件,再写入本地数据库;下游按事件内容处理 B. 将变更与待发布事件写入同一本地事务,由后台任务重试发布,下游按事件唯一标识幂等处理 C. 仅在内存中暂存事件,发布失败时由服务重启后重新生成 D. 数据库提交后立即发布事件,若未收到下游确认则回滚本地数据库