视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

跨城冗災(zāi)升級指引

更新時間:2023.04.28

以下指南旨在為商戶在升級支付系統(tǒng)時提供參考。商戶應(yīng)根據(jù)其系統(tǒng)的實際情況采取適當(dāng)?shù)纳壌胧⒋_保支付系統(tǒng)的安全性。

# 1. 簡介

什么是冗災(zāi)?異地災(zāi)備的重要性?

當(dāng)光纜被挖斷、機(jī)房出現(xiàn)異常,或因不可抗拒原因(如地質(zhì)災(zāi)害)等造成正常路徑上業(yè)務(wù)不可用,通過備份路徑和措施來保證業(yè)務(wù)繼續(xù)正常進(jìn)行。

# 2. 商戶實現(xiàn)跨城冗災(zāi)整體流程

圖示

# 3. 公網(wǎng)商戶方案

商戶側(cè)要求 微信支付
機(jī)房和運營商 / 商戶側(cè)DNS就近解析,微信支付提供六個接入點:
上海電信、深圳電信、天津電信
上海聯(lián)通、深圳聯(lián)通、天津聯(lián)通
容災(zāi)規(guī)則 要求:雙活,發(fā)生故障能主備切換,恢復(fù)后能回切
1、主域名是主通道, 備用域名(跨城解析域名)可以采用1%以內(nèi)的流量做驗證
2、遇到主域名異常要能將主要通道自動切換到備用域名(跨城解析域名)訪問
3、當(dāng)主域名恢復(fù)正常后,主要通道要從備用域名(跨城解析域名)回切訪問
主域名:同運營商就近解析;
備域名:同運營商跨城解析;
網(wǎng)絡(luò)延時對比:主域名小于備域名

跨城容災(zāi)方案說明:

正常使用主域名調(diào)用,備域名需有流量,保證業(yè)務(wù)能實時切換。當(dāng)域名出現(xiàn)請求超時、讀寫超時,自動切換備域名重試。

交易主鏈路和交易備鏈路做好動態(tài)流量分配,保證遇到異常能夠自動切換。例如可以統(tǒng)計主備域名的連接耗時、丟包率、業(yè)務(wù)失敗率,出現(xiàn)異常情況(例如5秒鐘內(nèi)統(tǒng)計業(yè)務(wù)失敗率超過50%)可自動切換到最優(yōu)鏈路。

方案名稱 適用商戶 優(yōu)點 缺點 補(bǔ)充說明
方案一:統(tǒng)計主域名實際請求成功率,實現(xiàn)主備域名實時切換策略 交易量大 1、基于實際業(yè)務(wù)請求結(jié)果數(shù)據(jù),容災(zāi)切換準(zhǔn)確率高
2、配合高頻率統(tǒng)計計算,能夠達(dá)到出現(xiàn)故障時在更短的時間內(nèi)做出切換
1、和業(yè)務(wù)耦合深,需要上報每次請求結(jié)果
2、交易量小的商戶,用于容災(zāi)統(tǒng)計的數(shù)據(jù)少,很難達(dá)到理想的容災(zāi)效果
增加重試邏輯:訪問一個域名失敗之后,可以換一個域名進(jìn)行重試,從而提升單次業(yè)務(wù)請求成功率
方案二:定時探測主域名連通性,實現(xiàn)主備域名實時切換策略 1、交易量較少
2、不希望對現(xiàn)有業(yè)務(wù)做過多改造
1、業(yè)務(wù)流程改動少,使用方式簡單
2、生效的時間固定,和交易量無關(guān)
1、交易量大的商戶,探測周期過長的話,一旦出故障,影響筆數(shù)大
2、容災(zāi)切換時效性低
增加重試邏輯:訪問一個域名失敗之后,可以換一個域名進(jìn)行重試,從而提升單次業(yè)務(wù)請求成功率

微信支付提供兩個自動切換方案供商戶自行選擇,需實現(xiàn)雙活、流量分配、域名實時切換。

# 3.1.方案一:統(tǒng)計主域名實際請求成功率,實現(xiàn)主備域名實時切換策略

# 3.1.1.備注說明

主域名:api.mch.weixin.qq.com, api.weixin.qq.com

備用域名:api2.mch.weixin.qq.com, api2.weixin.qq.com

# 3.1.2.方案流程圖

成功率方案
# 3.1.3.業(yè)務(wù)請求流程
  1. 準(zhǔn)備好全局存儲空間(比如配置文件、內(nèi)存空間等)存放“域名信息”、“日志信息”并進(jìn)行初始化;
  2. 發(fā)起業(yè)務(wù)請求之前,從域名信息庫里面獲取域名;
  3. 使用當(dāng)前域名發(fā)起請求,成功,則上報成功結(jié)果并且流程結(jié)束;
  4. 使用當(dāng)前域名發(fā)起請求,失敗(連接超時、讀寫超時),則上報失敗結(jié)果并且獲取另一個域名進(jìn)行重試,流程結(jié)束;
  5. 因業(yè)務(wù)問題導(dǎo)致失敗,商戶側(cè)根據(jù)自身邏輯處理;
  6. 第3步和第4步中上報的請求結(jié)果存儲規(guī)則:保留主域名10分鐘內(nèi)最近100次請求,商戶也可根據(jù)實際情況自行調(diào)整。

# 3.1.4.成功率統(tǒng)計流程

  1. 定義主域名最小可用率,比如90%(具體數(shù)值商戶可根據(jù)實際業(yè)務(wù)情況進(jìn)行設(shè)定);
  2. 啟動定時探測器,取【業(yè)務(wù)請求流程】中的請求結(jié)果數(shù)據(jù),對其進(jìn)行匯總統(tǒng)計,計算成功率,每分鐘一次(計算頻率商戶可根據(jù)實際業(yè)務(wù)情況進(jìn)行設(shè)定);
  3. 當(dāng)主域名請求成功率大于等于最小可用率時更新當(dāng)前域名為主域名;
  4. 當(dāng)主域名請求成功率小于最小可用率時更新當(dāng)前域名為備用域名。

# 3.2.方案二:定時探測主域名連通性,實現(xiàn)主備域名實時切換策略

# 3.2.1.備注說明

主域名:api.mch.weixin.qq.com, api.weixin.qq.com

備用域名:api2.mch.weixin.qq.com, api2.weixin.qq.com

# 3.2.2.方案流程圖

探測方案

# 3.2.3.業(yè)務(wù)請求流程

  1. 準(zhǔn)備好全局存儲空間(比如配置文件、內(nèi)存空間等)存放“域名信息”并進(jìn)行初始化;
  2. 發(fā)起交易前,從“域名信息”中獲取當(dāng)前域名;
  3. 使用當(dāng)前域名發(fā)起請求,成功,則流程結(jié)束;
  4. 使用當(dāng)前域名發(fā)起請求,失敗(連接超時、讀寫超時),獲取另一個域名進(jìn)行重試,流程結(jié)束;
  5. 因業(yè)務(wù)問題導(dǎo)致失敗,商戶側(cè)根據(jù)自身邏輯處理;

# 3.2.4.定時探測流程

  1. 啟動定時探測器,每分鐘一次進(jìn)行主域名探測(探測頻率商戶可根據(jù)業(yè)務(wù)實際情況自行設(shè)定);
  2. 連續(xù)探測主域名5次,失敗(連接超時)次數(shù)小于3次,更新域名信息為主域名,失敗(連接超時)次數(shù)大于等于3次,更新域名信息為備用域名;
  3. 探測方式可用curl、telnet等方式發(fā)起。

# 3.3.失敗重試策略

# 3.3.1.備注說明

主域名:api.mch.weixin.qq.com, api.weixin.qq.com

備用域名:api2.mch.weixin.qq.com, api2.weixin.qq.com

# 3.3.2.方案流程圖

圖示

# 3.3.3.業(yè)務(wù)請求流程

  1. 發(fā)起交易前,從“域名信息”中獲取當(dāng)前域名;
  2. 使用當(dāng)前域名發(fā)起請求,成功,則流程結(jié)束;
  3. 使用當(dāng)前域名發(fā)起請求,失敗(連接超時、讀寫超時),獲取另一個域名進(jìn)行重試,流程結(jié)束;
  4. 因業(yè)務(wù)問題導(dǎo)致失敗,商戶側(cè)根據(jù)自身邏輯處理;

# 3.4.實現(xiàn)雙活的流量分配策略

# 3.4.1.備注說明

主域名:api.mch.weixin.qq.com, api.weixin.qq.com

備用域名:api2.mch.weixin.qq.com, api2.weixin.qq.com

# 3.4.2.方案流程圖

圖示

# 3.4.3.雙活域名流量分配策略

  1. 發(fā)起交易前配置好主備切換比率,值范圍在0~99之間(具體數(shù)值商戶可根據(jù)實際業(yè)務(wù)情況進(jìn)行設(shè)定);
  2. 當(dāng)前域名是主域名的情況下,要進(jìn)行流量分配。流量分配規(guī)則:先獲取0~99的隨機(jī)數(shù),當(dāng)隨機(jī)數(shù)<主備切換比率則使用主域名發(fā)起交易,隨機(jī)數(shù)>=主備切換比率則使用備用域名發(fā)起交易;
  3. 當(dāng)前域名是備用域名的情況下,直接用備用域名發(fā)起請求。

專線商戶請參考:專線冗災(zāi)指引 (opens new window)

# 4. 驗證

# 4.1. 已升級支持跨城冗災(zāi),商戶自行驗證

方案1:通過人工配置錯誤HOST模擬災(zāi)情

方案2:通過機(jī)房斷專線的方式模擬

# 5. 升級說明

# 微信支付側(cè)實現(xiàn)跨城容災(zāi),為什么還需要商戶配合?

當(dāng)某個城市內(nèi)的機(jī)房都不可用,微信支付側(cè)會進(jìn)行災(zāi)備處理,通過另外一個城市提供支付服務(wù)。商戶側(cè)需要通過主備域名切換的方式,訪問微信支付正常服務(wù),減小故障帶來的影響。

# 涉及哪些API

  • 微信支付API
  • 公眾平臺后臺API和前臺JS資源

# 6. 微信支付回調(diào)通知商戶

商戶側(cè)與微信支付約定私有的回調(diào)域名,形如xxxx.wxpay.local,xxxx替換為商戶名稱簡寫,具體有以下兩種方案可選:

  • 隨機(jī)模式: xxxx.wxpay.local為隨機(jī)回調(diào)域名,微信支付側(cè)會將該域名在配置文件中定義為全部回調(diào)IP,隨機(jī)選擇和重試;
  • 主備模式: s.xxxx.wxpay.local順序模式,是將電信IP作為主回調(diào)IP的回調(diào)域名,此時聯(lián)通IP作為備用; r.xxxx.wxpay.local逆序模式,是將聯(lián)通IP作為主回調(diào)IP的回調(diào)域名,此時電信IP作為備用;

商戶可以只用隨機(jī)模式的私有回調(diào)域名,如果想要更好控制專線選擇,可以在需要切換時使用主備模式,微信支付側(cè)回調(diào)程序根據(jù)商戶側(cè)提供的私有回調(diào)域名自動適配回調(diào)IP。

走專線還是走公網(wǎng)? 商戶傳的私有回調(diào)地址就走專線回調(diào),其他回調(diào)地址類型走公網(wǎng)回調(diào)。

# 7. 專線冗災(zāi)演練

  1. 雙方約定時間定期或者不定期演練專線冗災(zāi)自動切換
  2. 商戶側(cè)排查所有專線策略是否都通
  3. 微信支付側(cè)排查專線回調(diào)策略是否都通
  4. 商戶側(cè)通過調(diào)整防火墻策略等方式斷開其中一條專線,驗證觀察業(yè)務(wù)是否能自動切換至另一條線路,且切換過程中業(yè)務(wù)無損失
  5. 恢復(fù)后再斷開驗證另一條專線
  6. 如果商戶側(cè)能實現(xiàn)兩條專線都不通自動走公網(wǎng)調(diào)用的話,可以再驗證兩條專線都斷開的情況下,是否如預(yù)期走公網(wǎng)調(diào)用和走公網(wǎng)回調(diào)
  7. 如遇故障影響業(yè)務(wù),請優(yōu)先回退,之后再排查原因。

# 8. Q&A

社區(qū)Q&A (opens new window)