跨城冗灾升级指引

最新更新时间:2021.3.9

本指引供商户升级商户支付系统参考,商户应当根据商户系统的实际情况采取相应的升级操作,并对商户支付系统的安全性负责

1. 简介

什么是冗灾?异地灾备的重要性?

当光缆被挖断、机房出现异常,或因不可抗拒原因(如地质灾害)等造成正常路径上业务不可用,通过备份路径和措施来保证业务继续正常进行。

2. 商户实现跨城冗灾整体流程

3. 专线商户方案

3.1. 方案A:多专线异地机房实现跨城冗灾

商户侧要求 微信支付
专线 两条异地专线
1、如果已拉单专线,需要补一条异地专线(商户侧发起)
2、如果已有两条同城专线,需要将其中一条改到异地机房(商户侧发起)
提供四个专线接入点:
上海电信
上海联通
深圳电信
深圳联通
机房 无要求 上海
深圳
冗灾规则 专线双活、业务双活(专线同时跑交易)
支持专线、机房异常、跨城冗灾
每个中心独立业务部署
冗灾触发机制 可按实际情况按以下方案实现:
方案1:统计每条专线的连接耗时、丢包率、业务成功率;出现异常情况可自动切换到最优链路
方案2:统计接口(例如:下单API)成功率,失败率升高自动启动冗灾,比如失败率降到50%,
方案3:定时探测(例如:查单API),连续3次探测失败(连接超时,响应超时,HTTP状态码:5xx表示服务器错误)自动启动冗灾
注意:专线回调类API有主备区分,切换路径后,回调域名也应该换到对应域名
/
正常回切机制 有探测机制,能自动恢复双活 /

跨城冗灾需支持的范围:微信支付 和 公众平台 业务

微信支付域名:api.mch.weixin.qq.com(主域名); api2.mch.weixin.qq.com(备域名)

公众平台域名:api.weixin.qq.com(主域名); api2.weixin.qq.com(备域名)

公众平台资源域名: res.wx.qq.com(主域名) ;res2.wx.qq.com(备域名)

以广州专线商户为例,说明冗灾流程

专线应开通公众平台访问策略,公众号支付有涉及到公众平台授权接口调用。

3.2. 方案B:同城专线+公网灾备实现跨城冗灾

正常使用专线方案运行,应具备自动切换到公网的条件(定时探测公网可用性)和实现公网冗灾的逻辑。
公网容灾方案参见公网商户方案

4. 验证

4.1. 已升级支持跨城冗灾,商户自行验证

方案1:通过人工配置错误HOST模拟灾情

方案2:通过机房断专线的方式模拟

4.2. 微信支付侧配合验证

微信支付从7月份起,可配合对已完成升级的商户进行双方验证。请主动联系我们发起验证流程。

5. 升级说明

5.1 微信支付侧实现跨城容灾,为什么还需要商户配合?

当某个城市内的机房都不可用,微信支付侧会进行灾备处理,通过另外一个城市提供支付服务。商户侧需要通过主备域名切换的方式,访问微信支付正常服务,减小故障带来的影响。

5.2. 涉及哪些API

微信支付API

公众平台后台API和前台JS资源

5.3. 请商户评估方案后将排期提交给微信侧,有疑问请到微信开放社区咨询,发帖标题请注明“【跨城冗灾】”,也可通过邮箱WePayTS@tencent.com与我们联系

6. 微信支付回调通知商户

1). 商户侧与微信支付约定私有的回调域名,形如xxxx.wxpay.local,xxxx替换为商户名称简写,具体有以下两种方案可选:

随机模式: xxxx.wxpay.local为随机回调域名,微信支付侧会将该域名在配置文件中定义为全部回调IP,随机选择和重试;

主备模式: s.xxxx.wxpay.local顺序模式,是将电信IP作为主回调IP的回调域名,此时联通IP作为备用;

r.xxxx.wxpay.local逆序模式,是将联通IP作为主回调IP的回调域名,此时电信IP作为备用;

2). 商户可以只用随机模式的私有回调域名,如果想要更好控制专线选择,可以在需要切换时使用主备模式,微信支付侧回调程序根据商户侧提供的私有回调域名自动适配回调IP。

3). 走专线还是走公网? 商户传的私有回调地址就走专线回调,其他回调地址类型走公网回调

7. Q&A

社区Q&A,有疑问请通过社区跨城冗灾专栏咨询。



技术咨询

文档反馈