客户端网络切换导致应用退回登陆前界面 的故障分析与解决方案

故障现象:
用户使用手机银行客户端登录,客户端处于登录状态,由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工程师分析需要在两地数据中心分别增加一台全局负载,正因如此,此方案被行方驳回。 最后只能使用方案三:由项目开发人员,在代码层面配置会还保持。