互联网从业者充电站 头像

消息来源频道

互联网从业者充电站

@https1024

频道28,610 位成员公开可见持续更新

互联网从业者专属 内容多为技术、产品、设计、运营等不同话题内容; 目标人群为程序员、设计师、产品经理、运营管理等不同职能。 投稿/合作: @inside1024_bot 内容来源网络

成员规模28,610 位成员
在线情况待同步
消息总数32,672 条消息
浏览量总数5,084,371 次浏览

在这个频道里搜索消息……

t.me/https1024

发现昨天大半夜的stripe线上webhook失败了好几次,排查了一会发现了问题。
按正常流程,新建订阅收到的webhook顺序是
1. customer.subscription.created(status: incomplete)
2.customer.subscription.updated(status: active)
但实际上这笔我是先收到了updated再收到了created,导致原本按顺序先新增再更新的逻辑就不对了,我created的webhook就一直返回失败。
搜了一下,发现Stripe 的 webhook 事件并不保证顺序!原因包括:
- 并发发送: Stripe 可能同时发送多个事件
- 网络延迟: 不同事件的网络传输时间可能不同
- 重试机制: 如果某个事件失败,会重试,可能导致顺序混乱
- 服务器处理时间: 你的服务器处理不同事件的时间可能不同
所以在写webhook的时候,一定得充分考虑到各种corner case