全球每天数十亿次API调用,大部分都在做同一件事:问服务器"有消息吗?"——然后得到"没有"的回答。Webhook的出现,就是为了让这种无效对话彻底消失。
传统轮询(Polling)像不断刷新邮箱等快递。客户端每隔几秒查询服务器,消耗带宽和计算资源,延迟还不可控。Webhook反过来:事件发生时,服务器主动推送HTTP POST请求到预设地址,毫秒级送达。
打开网易新闻 查看精彩图片
这套机制跑通了几个关键场景。支付平台Stripe用它在交易完成瞬间通知商户,触发邮件回执或风控审查;GitHub代码提交后自动唤醒CI/CD流水线;Slack靠它把消息塞进频道。核心优势就三点:省资源、低延迟、易扩展——服务器不再为"空响应"浪费CPU周期。
技术实现不复杂。事件触发→系统识别→JSON格式载荷→POST到目标URL→接收方处理。但魔鬼在细节:端点必须稳定响应,否则就会丢消息;签名验证不能省,防止伪造请求;重试机制要有,应对网络抖动。
Webhook的本质是"订阅-发布"模式的轻量化实现。它不适合所有场景——如果客户端离线就会漏消息,此时队列或长轮询更可靠。但对实时性要求高、事件频率中等的场景,它仍是性价比最高的选择。
热门跟贴