软件工程 选择题 较难 ★ 精品

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

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

题目
某内容平台的编辑服务与统计服务各自独立管理数据库。编辑服务更新内容时,必须在自身数据库提交成功后向统计服务传播变更;进程可能在提交后、发送前崩溃,消息可能重复投递,统计服务也可能离线数小时。消息代理支持持久化保存消息并在消费者恢复后重放。要保证变更最终不丢失且统计结果不重复计入,哪种方案最合适? A. 编辑服务在同一数据库事务中写入内容和持久化发件箱事件,由转发器重试投递;统计服务按事件 ID 去重后更新本地数据 B. 编辑服务先发送消息再提交内容事务,统计服务收到消息后直接累加统计值 C. 两个服务改为共享数据库,并由统计服务定时读取编辑服务的内存缓存 D. 编辑服务提交内容后仅发送一次消息,统计服务离线时丢弃消息并在恢复后重新计算全部统计值