1.业务背景:
在秒杀或者高并发业务场景中,微信支付的统一下单接口频率存在一定限制,比如600QPS。
附目前文档:https://pay.weixin.qq.com/wiki/doc/apiv3/wxpay/pages/ico-guide/chapter1_5.shtml
2.解决方案
2.1 多商户策略
采用负载均衡的方式进行操作
2.2 记录好用户下单所用的商户信息,也可以预先绑定好
如5个商户号,用户下单根据id取模,分配到固定的商户,后续的退款、查询订单也根据id取模固定到相同的商户进行操作。
2.3 错峰离散调用
一些秒杀类业务,一般都是高并发锁定库存生成订单后调起支付,我们可以依靠前端页面在合理的时间阈值内错峰调起支付
如:ABC三个用户同时秒杀商品,页面可控制A立即调起,B隔1秒发起,C隔2秒发起,这样可以避免并发太高的问题。