一种基于高可用性的web高并发系统及方法技术方案

技术编号:24504141 阅读:33 留言:0更新日期:2020-06-13 06:32
一种基于高可用性的web高并发系统,包括采用高可用方案的负载均衡器集群、动静分离的web服务器集群和包含session共享的数据库服务器,负载均衡器集群包括主负载均衡器和若干添加高可用的备用负载均衡器;web服务器集群采用Nginx+Tomcat搭配的方式来实现;数据库服务器包括硬盘数据库Mysql和实现session共享的Memcached内存数据库。以及提供一种基于高可用性的web高并发方法。本发明专利技术提高了web系统应对高并发事件时的处理能力,能够在不同的工作请求类型时合理调度系统服务器资源,缩短客户端平均响应时间,提高服务器整体吞吐量。

A web high concurrency system and method based on high availability

【技术实现步骤摘要】
一种基于高可用性的web高并发系统及方法
本专利技术基于目前互联网上应用最广泛的万维网应用,特别是设计了一种解决Web服务器高并发的系统及方法。
技术介绍
随着互联网基础实施完善以及移动终端的日渐增多,互联网服务越来越丰富,用户数也越来越大。一方面社交、媒体、购物等web网站的规模越来越大,例如当前并发访问需求较大的电商网站、相关著名的搜索引擎等,其日均并发访问量以及峰值访问量之大难以想象。另一方面一些促销活动、节假日购票等活动,峰值流量的冲击都对web系统网站的并发性能提出了更高的要求。每一年春节期间的购票高峰日,12306平台作为官方的火车票购票平台,却经常性出现服务器卡顿,崩溃等问题,这对于用户的体验是非常不友好的。这说明随着用户数量以及数据规模的增长,传统的web系统架构已经不能满足当前需要,这对于web系统处理高并发的能力提出了新的挑战。Nginx作为一款高性能的负载均衡器,所有请求都到了Nginx,可见负载均衡器处于非常重要的位置,如果Nginx服务器宕机,后端web服务器将无法提供服务,影响严重。但面对诸如1230本文档来自技高网...

【技术保护点】
1.一种基于高可用性的web高并发系统,其特征在于:所述web高并发系统包括采用高可用方案的负载均衡器集群、动静分离的web服务器集群和包含session共享的数据库服务器;/n所述负载均衡器集群包括主负载均衡器和若干添加高可用的备用负载均衡器,所述主负载均衡器和备用负载均衡器组成高可用集群,以防止负载均衡模块出现单点故障;/n所述高可用方案采用Keepalived实现,因为Keepalived配置相对简单,较易实现,且便于管理与测试,主服务器利用VRRP协议向所有备服务器发送组播包,以告知备服务器自己的健康状态,一旦备用服务器收不到组播包,便认为主服务器异常,将接替成为新的主服务器继续完成工...

【技术特征摘要】
1.一种基于高可用性的web高并发系统,其特征在于:所述web高并发系统包括采用高可用方案的负载均衡器集群、动静分离的web服务器集群和包含session共享的数据库服务器;
所述负载均衡器集群包括主负载均衡器和若干添加高可用的备用负载均衡器,所述主负载均衡器和备用负载均衡器组成高可用集群,以防止负载均衡模块出现单点故障;
所述高可用方案采用Keepalived实现,因为Keepalived配置相对简单,较易实现,且便于管理与测试,主服务器利用VRRP协议向所有备服务器发送组播包,以告知备服务器自己的健康状态,一旦备用服务器收不到组播包,便认为主服务器异常,将接替成为新的主服务器继续完成工作;
所述动态负载均衡模块是根据工作负载具体类型以及web集群的性能监控数据,采用加权求和来实时计算web服务集群的动态权重,以此来实现流量的合理转发以及高效处理;
所述的动态负载均衡,使用Consul实现对动态负载均衡注册与发现功能,使用Upsync实现Nginx服务器动态获取最新upstream列表,每次修改完Nginx配置信息后,Nginx实时读取配置信息,免去了修改完Nginx配置信息需要重启的多余步骤;
所述web服务器集群采用Nginx+Tomcat搭配的方式来实现,Nginx基于事件驱动模型来处理多用户并发请求,在处理静态资源方面有着无可比拟的优势,同时兼具扩展性和稳定性,所以用Nginx作为Web服务器来处理静态资源;在处理动态资源方面,Tomcat在可扩展性以及安全性方面有着不错的表现,所以用Tomcat作为Web服务器来处理动态资源,通过配置不同的端口实现web服务器集群;
所述数据库服务器包括硬盘数据库Mysql和实现session共享的Memcached内存数据库;所述session共享,是为了能在集群的多个节点之间保持session数据的一致性,这里采用基于memcached缓存的session共享。


2.如权利要求1所述的基于高可用性的web高并发系统,其特征在于:所述动态负载均衡模块中,周期性计算服务器性能指标时,加入了各服务器实时的利用率,并将四个性能指标做了归一化处理,得到服务器的实时性能指标,并将工作请求类型分成了三种:cpu密集型、IO密集型、响应时间型,得出相应的指标权重,最后得到服务器的实时动态权重,值越大,被分配的概率越大。


3.如权利要求1或2所述的基于高可用性的web高并发系统框架,其特征在于:所述的实时动态权重为服务器四个性能指标与指标权重求和得到,所述四个性能指标为监控所得的实时性能数据,反映了服务器的实时负载能力;所述指标权重为根据工作请求类型得到的最优分配数,过程如下:
(1)cpui表示web服务器cpu可用性能,cpu_limit表示web服务器最大可用核数,cpu_freq表示cpu主频,cpu_utilization表示cpu实时利用率,公式定义如下:



(2)memi表示web服务器内存可用性能,mem_limit表示web服务器最大可用内存,mem_freq表示内存频率,mem_utilization表示内存实时利用率,公式定义如下:



(3)fsi表示web服务器硬盘可用性能,fs_read_speed表示硬盘的读取速度,fs_write_speed表示硬盘的写入速度,fs_utilization表示硬盘实时利用率,公式定义如下:



(4)neti表示web服务器的网络收发速度,表征当前服务器的网络通信状态,net_receive_speed表示服务器网络流量的接收速度,net_tranmit_speed表示服务器网络流量的发送速度;
neti=net_receive_speed+net_tranmit_speed
假定web服务器集群数量为N,则第i个web服务器性能指标参数可定义如下所示:
Pi=[cpui,memi,fsi,neti]
每个周期开始时,计算负载值,四个硬件占用率只要有一个达到阈值,Pi即为0,否则依次计算四个性能指标值,若某台服务器的三个占用率全为0,则它宕机,Pi为0,请求不会达到这台服务器,直至恢复正常;
为消除不同量纲对于加权求和的影响,采用归一化方法来处理cpu,内存,硬盘...

【专利技术属性】
技术研发人员:孟利民王斌应颂翔蒋维林梦嫚
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江;33

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

1