1. 程式人生 > >客戶端網路切換導致應用退回登陸前介面 的故障分析與解決方案

客戶端網路切換導致應用退回登陸前介面 的故障分析與解決方案

故障現象:
使用者使用手機銀行客戶端登入,客戶端處於登入狀態,由WiFi網路切換為手機4G網路,導致手機銀行直接退回到登入前狀態,伺服器日誌顯示該使用者在登入期間出現兩個不同地點的IP。

故障分析:
網路架構如圖所示,當省內某使用者使用聯通WiFi登入手機銀行後,F5將請求轉發到了server A1,由於周圍網路環境,WiFi斷開後,使用者使用了手機電信4G網路,繼續使用手機銀行應用,F5無法判斷此時的請求是同一使用者發出的,所以將連線電信4G網路後的請求隨機轉發到其他server,比如server A2,此時使用者的手機端會退回到登入前的狀態。
這裡寫圖片描述

可以判斷,引起故障的原因是F5的會話保持配置方式有誤,與F5工程師溝通後,得知會話保持的方式是IP地址跟蹤連線,IP保持方式是F5依據使用者IP來判斷請求是否來自同一使用者,這種方式完全無法避免此故障。

解決方案及經過:
與F5工程師協調,使用了cookie插入HTTP包頭的方式配置會話保持(研究會議定義的方案一),配置完成經驗證,在同一資料中心故障已不存在,但會出現同一使用者的請求漂到省外的資料中心去了,此種情況,出現故障現象跟之前是一樣的。
提交申請使用方案二:如圖所示,在兩地的核心交換使用專線打通,使兩地的F5裝置在同一區域網內,配置F5為雙活狀態。此方案經F5工程師分析需要在兩地資料中心分別增加一臺全域性負載,正因如此,此方案被行方駁回。
最後只能使用方案三:由專案開發人員,在程式碼層面配置會還保持。