一种基于分布式系统的负载均衡服务器实现高可用性的方法技术方案

技术编号:15899095 阅读:41 留言:0更新日期:2017-07-28 21:43
本发明专利技术涉及一种基于分布式系统的负载均衡服务器实现高可用性的方法,包括:实现主从方案配置Nginx集群,Nginx集群包括主Nginx服务器、从Nginx服务器,使得主Nginx服务器提供服务,从Nginx服务器监听所述主Nginx服务器,当主Nginx服务器出现故障后,通知系统管理员,由从Nginx服务器接管主Nginx服务器。本发明专利技术通过使用Keepalived集群管理软件,为备份服务器动态的分配优先级,并根据优先级来选择一个代替主服务器实现不间断的服务,从而实现分布式系统在负载均衡条件下实现高可用性。

【技术实现步骤摘要】
一种基于分布式系统的负载均衡服务器实现高可用性的方法
本专利技术涉及一种基于分布式系统的负载均衡服务器实现高可用性的方法,属于计算

技术介绍
随着分布式系统服务器用户的增加,分布式系统服务器的访问量和数据流量也随之迅速增长,所需要的处理能力和计算强度也相应增大。单个分布式系统服务器受到处理能力的限制,将无法满足大访问量的需求,可能会成为网络访问的瓶颈。采用单一的升级方式往往造成不必要的精力浪费,而分布式系统服务器集群正好弥补了这点。与一般分布式系统服务器相比,采用多个分布式系统服务器作为一个应用服务的服务器集群提高了负载能力、可扩展性及可靠性。随着信息技术的飞速发展,分布式系统服务器集群在国家关键领域起到越来越重要的作用。而其中负载均衡集群是实现分布式系统常用的有效方法,它将根据不同层面的实现原理和已预定的算法将请求合理的转发到后端的节点,有效的利用各个节点使系统整体性能达到最大。但是,当主服务器发生故障时,整个系统就会瘫痪。Keepalived集群管理软件是一个类似于layer3,4&5交换机制的软件,也就是我们平时说的第3层、第4层和第5层交换。Keepalived的作用是检测web服务器的状态,如果有一台web服务器死机,或工作出现故障,Keepalived将检测到,并将有故障的web服务器从系统中剔除,当web服务器工作正常后Keepalived自动将web服务器加入到服务器群中,这些工作全部自动完成,不需要人工干涉,需要人工做的只是修复故障的web服务器。中国专利文献CN104754006A公开了一种构建高可用性分布式系统的方法,其利用部署在多个机房的后端请求处理服务器和数据库提高网络服务的可用性,将分布式系统所有的请求通过一个前端代理服务器,其将请求分派到多个部署在不同机房的后端请求处理服务器进行处理:当请求为读取数据的请求,则前端服务器用负载均衡的方式将请求分派到一个后端请求处理服务器进行处理,并将处理结果返还给客户;当请求为需要写入数据库的请求,则前端服务器在将此请求转发给所有后端请求服务器,同时将一个随机数和一个时间戳一同转发以供后端请求处理服务器在处理写入数据库的请求时使用。但是,在该专利中负责将整个分布式系统所有的请求转发到不同机房后端是通过一个前端代理服务器实现的,该种设计方式存在单点故障的缺陷。
技术实现思路
针对现有技术的不足,本专利技术提供了一种基于分布式系统的负载均衡服务器实现高可用性的方法;本专利技术通过使用Keepalived集群管理软件,为从服务器动态的分配优先级,并根据优先级来选择一个代替主服务器实现不间断的服务,从而实现分布式系统在负载均衡条件下实现高可用性。本专利技术有效防止单点故障,即当主服务器发生故障,按照从服务器的优先级来动态地选择一个代替主服务器实现不间断的服务。本专利技术的技术方案为:一种基于分布式系统的负载均衡服务器实现高可用性的方法,包括:实现主从方案配置Nginx集群,所述Nginx集群包括主Nginx服务器、从Nginx服务器,使得所述主Nginx服务器提供服务,所述从Nginx服务器监听所述主Nginx服务器,当所述主Nginx服务器出现故障后,通知系统管理员,由所述从Nginx服务器接管所述主Nginx服务器。根据本专利技术优选的,所述从Nginx服务器监听所述主Nginx服务器,包括:采用后台进程循环监听的方式对所述主Nginx服务器的运行状态进行监控,即:Nginx服务器实时监听所述主Nginx服务器的Nginx进程,当所述主Nginx服务器的Nginx进程不存在时,则尝试重新启动所述主Nginx服务器,如果失败,则判定所述主Nginx服务器出现故障,停止keepalived,由从Nginx服务器接管所述主Nginx服务器;否则,所述从Nginx服务器继续监听所述主Nginx服务器。本专利技术通过该种循环监听的工作方式来防止单点故障,当主服务器发生故障,按照从Nginx服务器的优先级来动态地选择一个代替主Nginx服务器,实现不间断的服务,实现整体系统的高可用性。根据本专利技术优选的,所述主Nginx服务器中将Keepalived中的vrrp_instance的state设置为Master,所述从Nginx服务器中将Keepalived中的vrrp_instance的state设置为BACKUP。根据本专利技术优选的,所述从Nginx服务器接管所述主Nginx服务器,包括:所述从Nginx服务器上将keepalived的state由BACKUP改为Master,将所述从Nginx服务器的优先级改为100。根据本专利技术优选的,所述分布式系统还包括若干台网页授权接口服务器,用于通过session机制在并发访问量高时减少了网络请求次数。此处设计的优势在于,有效防止了在并发访问量高的情况下因网络请求过多导致应用服务器性能下降问题。根据本专利技术优选的,所述分布式系统还包括若干台负载均衡转发服务器、若干台应用服务器,所述负载均衡转发服务器用于实时对当前连接的应用服务器的个数进行统计,计算出平均每秒当前连接的应用服务器的个数,如果大于阈值数量,则减少所述应用服务器的数量,否则,增加所述应用服务器的数量。实现应用服务器的动态扩展。本专利技术的有益效果为:1、本专利技术通过循环监听的工作方式来防止单点故障,当主服务器发生故障,按照从Nginx服务器的优先级来动态地选择一个代替主Nginx服务器,实现不间断的服务,实现整体系统的高可用性。2、本专利技术使用多台服务器作为网页授权接口服务器,并采用session机制,可以有效的减少了网络请求次数。3、本专利技术实时获取Nginx的状态信息,周期性获取用户请求数量,并计算出平均每秒连接数,根据平均连接数来增加减少应用服务器的数量,实现应用服务器的动态扩展,同时使用reloadValue作为标志位来防止相同状态下Nginx无效的加载配置文件。4、本专利技术通过Nginx自带的status模块,编写相应的Python脚本获取Nginx当前的平均连接数,根据连接数的大小设置多个阈值,使Nginx动态加载不同的配置文件实现架构应用服务器的水平扩展。5、本专利技术通过Keepalived来保证Nginx负载均衡服务器的高可用性,有效的解决了单点故障问题。附图说明图1为实施例所述分布式系统结构框图;图2为实施例所述分布式系统中从Nginx服务器接管主Nginx服务器的流程框图。具体实施方式下面结合说明书附图和实施例对本专利技术作进一步限定,但不限于此。实施例一种基于分布式系统的负载均衡服务器实现高可用性的方法,所述分布式系统如图1所示,前端是两台Nginx转发服务器,一台Nginx转发服务器为主Nginx转发服务器,一台Nginx转发服务器为从Nginx转发服务器;中间是两台应用服务器,应用服务器的数量可以水平扩展,后端是两台数据库服务器。包括:主Nginx转发服务器提供服务,从Nginx转发服务器监听主Nginx转发服务器,采用后台进程循环监听的方式对主Nginx转发服务器的运行状态进行监控,即:从Nginx转发服务器实时监听主Nginx转发服务器的Nginx进程,当主Nginx转发服务器的Nginx进程不存在时,则尝试重新启动主Nginx转发服务器,如果本文档来自技高网
...
一种基于分布式系统的负载均衡服务器实现高可用性的方法

【技术保护点】
一种基于分布式系统的负载均衡服务器实现高可用性的方法,其特征在于,包括:实现主从方案配置Nginx集群,所述Nginx集群包括主Nginx服务器、从Nginx服务器,使得所述主Nginx服务器提供服务,所述从Nginx服务器监听所述主Nginx服务器,当所述主Nginx服务器出现故障后,通知系统管理员,由所述从Nginx服务器接管所述主Nginx服务器。

【技术特征摘要】
1.一种基于分布式系统的负载均衡服务器实现高可用性的方法,其特征在于,包括:实现主从方案配置Nginx集群,所述Nginx集群包括主Nginx服务器、从Nginx服务器,使得所述主Nginx服务器提供服务,所述从Nginx服务器监听所述主Nginx服务器,当所述主Nginx服务器出现故障后,通知系统管理员,由所述从Nginx服务器接管所述主Nginx服务器。2.根据权利要求1所述的一种基于分布式系统的负载均衡服务器实现高可用性的方法,其特征在于,所述从Nginx服务器监听所述主Nginx服务器,包括:采用后台进程循环监听的方式对所述主Nginx服务器的运行状态进行监控,即:Nginx服务器实时监听所述主Nginx服务器的Nginx进程,当所述主Nginx服务器的Nginx进程不存在时,则尝试重新启动所述主Nginx服务器,如果失败,则判定所述主Nginx服务器出现故障,停止keepalived,由从Nginx服务器接管所述主Nginx服务器;否则,所述从Nginx服务器继续监听所述主Nginx服务器。3.根据权利要求1所述的一种基于分布式系统的负载均衡服务器实现高可用性的方法,其特征在于,所述主Nginx服务...

【专利技术属性】
技术研发人员:王晔陈乃阔吴登勇
申请(专利权)人:山东超越数控电子有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1