M07 练习
← 返回章节超时后的两种世界
退款请求超时,供应商既没有幂等键也没有操作查询接口。你能否同时保证绝不重复与必定自动完成?给保守策略。
提示
- 本地观测无法区分未执行和已执行但丢响应。
查看参考解与自评
同键不同参数
operation=o1首次退款10000分,重试携带o1但金额9000。服务端发现o1已成功。应返回成功旧结果还是参数冲突?
提示
- 先确认请求意图仍一致。
查看参考解与自评
原子去重
本地业务表和去重表在同一数据库。给出退款事务的步骤,指出哪些必须在同一事务。
提示
- 唯一键、资格检查和余额修改必须协作。
查看参考解与自评
fencing的检查位置
A持fence=7,B已持8。A把7写进日志但仍能调用外部写接口,接口不检查token。fencing生效了吗?
提示
- 约束必须在资源接受写入时执行。
查看参考解与自评
持久工作流里的模型调用
把LLM网络调用直接放进需要确定性重放的控制逻辑,会有什么问题?如何分层?
提示
- 重放应复用已记录结果,而不是重新请求随机外部系统。
查看参考解与自评
补偿是不是回滚
订票成功、订酒店失败,系统尝试取消机票。为什么这不是数据库回滚?如何记录?
提示
- 外部世界可能有手续费、时限和不可逆效果。