行业动态与技术知识
Portal认证系统的高可用:认证服务器挂了用户还能上网吗
Portal认证系统平时跑得挺顺,一旦认证服务器挂了,所有人都上不了网,这种事在酒店、校园、商场特别致命。认证系统本身体量不大,但它是上网的闸门,闸门一坏全网瘫。所以高可用不是锦上添花,是上线前必须想清楚的事。核心问题就一个:认证服务器挂了,用户还能不能上网。
两种故障模式要想全
一种是认证服务进程挂了,但网络还在。这时候未认证用户弹不出页,已在线用户会话还在不该断。设计上要让已建立的会话在认证服务短暂中断时不被踢,靠的是网关侧维护会话状态,不每次都问认证服务器。很多低端方案每次包都回认证服务器验,服务器一挂全员掉线,这种架构本身就是脆弱点。
另一种是认证服务器所在设备彻底宕机。这时候要有备机接手。常见做法是主备双机,心跳检测,主挂了备自动顶上,VIP或者DNS切过去。切换要快,最好用户无感知。我们见过主备切换要手工干预的,半夜主挂,没人值守,全网瘫到天亮。高可用不是有备机就行,是能自动切。
降级策略比双机更现实
不是所有场所都上主备双机,成本和复杂度要掂量。更务实的是降级策略:认证服务器不可用时,对新用户先放行或者走极简兜底认证,保证能上网,事后再补实名。这叫fail-open,和fail-close相反。fail-open有合规风险,但能保证业务不中断;fail-close安全但全网瘫。选哪个看场所对合规和连续性的优先级。医院这类不能断的,往往倾向有限降级。
降级还要分人群。员工、常住客走无感认证本来就不依赖实时认证,服务器挂了照样上;纯新访客才受影响。所以无感认证名单本地化,是认证服务器高可用的隐形帮手。把大部分人的认证结果缓存在网关侧,服务器压力和小故障都被吸收掉。
监控要能提前报警
高可用不只是架构,还有运维。认证服务器的CPU、内存、会话数、认证成功率,要能监控并提前报警。等全员投诉才发现挂了,已经晚了。很多单位监控只盯设备在线,不盯认证成功率,结果服务器半挂(能连但认证慢)没人知道,用户体验已经烂了。成功率这个指标比在线状态更说明问题。
Portal认证系统的高可用,答案不是买更贵的服务器,而是想清故障模式、做自动切换、备好降级策略、盯住成功率。闸门这种东西,平时没人注意,一坏全网知道,所以它在设计阶段就该被当成一个不能单点失效的关键节点。
切换演练不能省
主备双机买了,不等于高可用就做到了。要定期做切换演练,手动把主停掉,看备能不能真的顶上、用户有没有感知。很多单位双机装好就再没测过,真故障那天发现备机半年前就同步断了,根本接不住。演练最好写成例行动作,比如每季度一次,顺便验证降级策略还灵不灵。高可用是练出来的,不是配出来的。
把连续性写进合同
认证系统的高可用要求,要在采购合同里写清楚,比如允许的年中断时长、故障切换时间。厂商嘴上说支持主备,合同不写指标,出了事没凭据。尤其是酒店、医院这种断了就出事的场所,连续性指标要量化进SLA。把高可用从口头承诺变成合同数字,真故障时有据可依,也倒逼厂商把架构做扎实。
故障后的复盘
认证服务器故障恢复后,别急着翻篇,做一次复盘。这次为什么挂,切换有没有自动生效,降级策略灵不灵,用户感知多久。复盘结论落到配置改进,比如发现主备心跳超时设太长,就调短;发现降级没触发,就修策略。不复盘的故障会重复发生,每次都救火。高可用是一次次故障喂出来的,前提是每次都真复盘。
成本要和设备等级匹配
高可用投入多少,看场所断网的代价。酒店断网影响入住体验和口碑,值得上主备加降级;小办公室断几分钟没人知,单机加定期备份可能就够。别给所有场所套同一套高可用方案,成本和风险不匹配。把连续性要求和预算摆一起算,该花的花,不该花的省。高可用是算出来的,不是堆出来的。
给用户一个明确预期
认证服务偶尔抖动,用户最怕的是不知道还要多久。Portal页在降级放行时,给一句提示当前为临时网络、稍后补认证,比沉默放行让用户安心。用户不怕等,怕的是没消息。把故障处理也当成体验的一部分,该提示就提示,反而少投诉。高可用不只是技术不停,也是出状况时用户感受可控。
演练要变成常态
高可用的切换演练,最怕一阵风运动,上线时练一次,之后再不碰。系统的状态会变,备机可能悄悄断了同步,降级策略可能被人改了没记录。演练要排进月度或者季度例行,像消防演习一样固定下来。每次演练留记录,哪次切换慢了、哪次降级没触发,都是改进线索。把演练当常态动作,高可用才真的可用,而不是纸面上有。