每天推送5篇优质英文文章 · By makers, for makers

运营 1205 天, 推荐好文 5,350 篇, 原创简评 1,091,686 字, 原文总阅读时间 47,168 分钟, 153,773 人订阅

本文强调的 idempotency 在 api 设计中极其关键,同一个api、相同参数调用多次、结果一样。Stripe 的核心产品就是他们的支付 api,对 api 设计自然颇有心得。

往往都有某种形式的 idempotency key 来保证 exactly once,例如同一个支付 api 相同参数不小心调用了多次(如请求失败、重试),只允许扣一次钱;发邮件的 api 相同参数不小心调用了多次,收件人只能收到一次信。

湾区日报自动发微博、Twitter、Facebook的代码也有 idempotency key,放在 redis 里,避免同一条信息在短时间内重复发送。

分享到: