同样一个限流,返回方式不同:

A 家:HTTP 429 + Retry-After 头,明确告诉等多久
B 家:HTTP 200,body 里写 error(这个最坑,客户端以为成功)
C 家:HTTP 500,和真故障混在一起

做重试逻辑时,A 最好写,B 需要解析 body,C 只能盲猜。

选上游时这条值得看。错误码不规范的,你的重试和降级逻辑会变得很脆弱。

我自己写工具时学到的:错误一定要分层,客户端错误和服务器错误分开,可重试和不可重试分开。这个成本很低,收益很大。

主楼