一种基于portal协议的服务器负载均衡处理办法
技术领域
本发明涉及负载均衡技术领域,尤其涉及一种基于portal协议的服务器负载均衡处理办法。
背景技术
Portal认证通常也称为Web认证,未认证用户上网时,如果用户试图通过HTTP访问其他外网,将被强制访问Portal认证网站,从而开始Portal认证过程,只有认证通过后才可以使用互联网资源,Portal认证可以为运营商WLAN提供方便的管理功能。
面向高并发用户认证请求时,单节点服务器无法完成服务承载,需使用负载均衡实现多节点负载。负载均衡的含义是将负载(工作任务)进行平衡、分摊到多个操作单元上进行执行,从而实现整个系统共同完成任务。负载均衡通过任务分担将大量的并发访问或数据量分担到多台设备上分别处理,每台设备都完成一个相对完整的请求响应过程,提供了一种廉价又有效的方法扩展网络设备和服务器的贷款、增加吞吐量、加强网络数据处理能力。
根据负载均衡的实现方式,主流的可应用于portal连续协议的负载均衡分为两种:负载均衡器与Redis负载。
负载均衡器是通过在多服务器节点前段部署硬件负载均衡器或者负载均衡软件,鉴于portal协议每次交互处理都有依赖层级逻辑关系,因此portal协议的请求及响应报文均由负载均衡器接收并确认服务器节点后,再转发至目标服务器节点处理,可满足portal协议依赖层级逻辑关系的要求,缺点是存在单点故障风险,即负载均衡器故障导致平台业务中断,严重影响平台可靠性。
Redis负载是通过多服务器节点同时访问、读写Redis缓存实现多服务器节点信息同步,满足portal协议每次交互处理所需的依赖层级逻辑关系,因此单用户的认证请求及响应报文可由不同服务器节点处理,任一服务器节点通过Redis查询获取用户认证请求及响应信息,处理当前请求后在Redis更新用户认证信息,缺点是Redis负载存在缓存雪崩问题、缓存击穿问题、缓存的并发竞争问题,Redis异常将导致业务中断,影响平台可靠性。
上述两个方案均无法满足portal协议在高并发情况下稳定性、可靠性的要求。
发明内容
本发明的目的在于提供一种基于portal协议的服务器负载均衡处理办法,在支持portal协议连续性、高并发性的技术上,减少故障与风险保障平台的稳定性与可靠性,实现了多服务器节点负载均衡对porta通讯协议应用的解决方案。
为实现上述目的,本发明提供如下技术方案:
一种基于portal协议的服务器负载均衡处理办法,其特征在于,包括以下步骤:
S1,建立多服务器节点负载架构;
S2,服务器轮次接收portal认证报文并进行存在性检测,判断该portal认证报文是首次请求报文还是第三方回复请求报文;
S3,根据判断结果确定是进行处理请求还是寻址转发;
S4,服务器接收其他服务器转发的portal认证报文后,加入请求队列,完成认证请求处理。
进一步的,所述S1的具体内容为:基于网关与连接网口部署虚拟IP服务,为同一网关且同一连网接口的portal服务器设置相同虚拟IP。
进一步的,所述portal认证报文的判断依据如下:若目标字段中没有服务器节点信息,则该portal认证报文属于首次请求报文;若目标字段中有服务器节点信息,则该portal认证报文属于第三方回复请求报文。
进一步的,所述S3的具体内容为:若判断结果是首次请求报文,当前服务器进行处理并在目标字段中写入自身的服务器节点信息;若判断结果是第三方回复请求报文,解析目标字段获取其服务器节点信息并将该portal认证报文转发给相应的服务器。
进一步的,所述存在性检测之前,服务器对portal认证报文进行解析获取其目录路径,基于该目录路径,服务器进行存在性检测。
进一步的,所述S4之后还包括S5,对于健康状态异常的服务器降低对应虚拟IP分配到当前服务器的概率;反之,对于健康状态良好的服务器提高对应虚拟IP分配到当前服务器的概率。
与现有技术相比,本发明的有益效果是:相较于负载均衡器是通过在多服务器节点前段部署硬件负载均衡器或者负载均衡软件,存在单点故障风险,本方案的虚拟IP分配及服务器节点健康状况检测可有效避免单点故障风险,即单台服务器节点故障后负载均衡服务依然可以正常运行,保障平台业务稳定性与连续性;相较于Redis负载是通过多服务器节点同时访问、读写Redis缓存实现多服务器节点信息同步,存在缓存雪崩问题、缓存击穿问题、缓存的并发竞争问题,本方案的负载均衡处理机制可有效解决此项问题,portal协议请求报文在处理后携带当前服务器ID信息,对于非首次发起的请求报文转发至携带ID对应的服务器节点处理,无需多服务器节点同时读写Redis缓存,提高平台可靠性的要求。
附图说明
图1为现有的Chap方式认证流程图;
图2为本发明的流程图。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Portal的典型组网主要由四个基本要素组成:认证用户、接入控制器、认证管理服务器、认证计费服务器。
认证用户:手持移动终端连接WLAN上网的用户,在Portal网站输入认证信息完成Portal认证;
接入控制器:BAS、AC等接入设备的统称,在认证之前,将用户的所有HTTP请求都重定向到Portal服务器;在认证过程中,与Portal网站、安全策略服务器、认证/计费服务器交互,完成身份认证/安全认证/计费的功能;认证通过后,允许用户访问被管理员授权的互联网资源。
认证管理服务器:面向重定向请求的客户端,提供认证界面,与认证用户终端交互认证客户端的认证信息。
认证计费服务器(即portal服务器):接收WLAN用户的认证信息,向AC发起用户认证请求以及用户下线通知,完成对用户的认证和计费。
认证计费服务器需支持多厂商多版本Portal协议版本(包括CMCC_V2、HUAWEI_V2、H3C_V2等),Portal协议中一个流程业务需多次来回数据交互,且每次交互处理都有依赖层级逻辑关系。以用户Chap上线认证流程为例,认证计费服务器与接入控制器、用户终端多次交互各种请求报文与确认报文,且报文具有时效性要求,发出请求报文后若在一定的时间内没有收到响应报文需发送响应超时报文,导致portal协议存在强依赖层级逻辑关系,如图2所示为Chap上线认证流程图。面向高并发用户认证请求时,单节点服务器无法完成服务承载,需使用负载均衡实现多节点负载。但目前主流的负载均衡(负载均衡器与Redis负载)均无法兼顾portal协议在高并发情况下稳定性与可靠性的要求。
本发明提出将虚拟IP与LVS技术应用于portal协议多服务器节点负载均衡处理机制,通过虚拟IP实现认证计费服务器多节点分配,通过LVS满足portal协议每次交互处理所需的依赖层级逻辑关系。具体请参阅图2,本实施例提供一种基于portal协议的服务器负载均衡处理办法,包括以下步骤:
S1,建立多服务器节点负载架构;基于网关与连接网口部署虚拟IP服务,如下表1所示,为同一网关且同一连网接口的portal服务器设置相同虚拟IP。
表1
服务器名称 |
IP地址 |
网关 |
连网接口 |
虚似IP |
认证计费服务器01 |
192.168.12.12 |
192.168.12.1 |
eth0 |
192.168.12.130 |
认证计费服务器02 |
192.168.12.16 |
192.168.12.1 |
eth0 |
192.168.12.130 |
认证计费服务器03 |
192.168.12.31 |
192.168.12.1 |
eth0 |
192.168.12.130 |
S2,服务器(本实施例特指portal服务器,下文亦相同)通过虚拟IP轮次接收portal认证报文并进行存在性检测,判断该portal认证报文是首次请求报文还是第三方回复请求报文。
具体的,portal认证报文由接入控制器或用户终端传输至固定的虚拟IP,虚拟IP基于负载均衡算法(如轮询法或随机法)得到一台真实的portal服务器的地址,该portal服务器获取该portal认证报文。接着,服务器对portal认证报文进行解析获取其目录路径,基于该目录路径,服务器进行存在性检测,判断该portal认证报文是首次请求报文还是第三方回复请求报文。portal认证报文的判断依据如下:若目标字段中没有服务器节点信息,则该portal认证报文属于首次请求报文;若目标字段中有服务器节点信息,则该portal认证报文属于第三方回复请求报文。
S3,根据判断结果确定是进行处理请求还是寻址转发;具体的,若判断结果是首次请求报文,则进行处理请求,当前服务器进行处理并在目标字段中写入自身的服务器节点信息,回复portal认证报文至接入控制器或用户终端;若判断结果是第三方回复请求报文,则进行寻址转发,解析目标字段获取其服务器节点信息并将该portal认证报文转发给相应的服务器。
S4,服务器接收其他服务器转发的portal认证报文后,加入请求队列,完成认证请求处理,并回复请求报文至接入控制器或用户终端。
为了进一步实现负载均衡性能的自主优化,还包括S5,对于健康状态异常的服务器降低对应虚拟IP分配到当前服务器的概率;反之,对于健康状态良好的服务器提高对应虚拟IP分配到当前服务器的概率。基于此能提升并优化均衡服务器的处理性能,缩短认证请求响应时延。
其它的,还可设置负载均衡节点处理时限,即lvs的Timeout。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。