服务器负载均衡问题,需要的设备和软件
你上面说到的这些服务器只有Web服务器需要做负载均衡,而且一般都是前置机才做负载均衡,做服务器负载均衡的条件是:
1 你要有提供相同应用的多台Web服务器。
2 要有负载均衡的设备(可以是软件也可以是硬件)。
3 要为这个服务分配一个虚拟地址(作为服务访问的统一入口)和若干真实地址(有几台Web服务器需要几个真实地址)。
注:一般建议采用硬件设备,通常需要做负载均衡的应用说明他的负载很大,专用的硬件比较可靠。
具备以上条件后将Web服务器连接到负载均衡设备上,在负载均衡设备上配置虚拟地址和真实地址、配置负载均衡算法,配置负载均衡策略,将负载均衡设备接入网络。
这样,外面的用户只需要访问这个虚拟地址就可以了,负载均衡设备收到请求后会按照负载均衡策略和算法把请求分配到真实地址上,实现负载功能。
以上所说只是负载均衡的一种部署方式,根据实际需要选择单臂、双臂接入网络;根据应用的特点选择健康检查的方式;根据应用选择是否使用回话保持算法等。
负载均衡(Load Balance)其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。
负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
负载均衡有三种部署方式:路由模式、桥接模式、服务直接返回模式。路由模式部署灵活,约60%的用户采用这种方式部署;桥接模式不改变现有的网络架构;服务直接返回(DSR)比较适合吞吐量大特别是内容分发的网络应用。约30%的用户采用这种模式。
扩展资料:
负载均衡的分类:
1、软件负载均衡解决方案是指在一台或多台服务器相应的操作系统上安装一个或多个附加软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。
2、硬件负载均衡解决方案是直接在服务器和外部网络间安装负载均衡设备,这种设备通常称之为负载均衡器,由于专门的设备完成专门的任务,独立于操作系统,整体性能得到大量提高,加上多样化的负载均衡策略,智能化的流量管理,可达到最佳的负载均衡需求。
参考资料:
F5负载均衡是一款高性能的负载均衡设备,它可以将网络流量分配到多个服务器上,从而提高系统的可用性和性能。
F5负载均衡可以实现多种负载均衡算法,如轮询、加权轮询、最少连接等,以满足不同场景下的负载均衡需求。需要通过SSH或Web界面连接到F5负载均衡设备。通过SSH连接时,需要使用管理员账号和密码进行身份验证。
在F5负载均衡中,虚拟服务器是负载均衡的核心概念。虚拟服务器可以将流量分配到多个后端服务器上。在F5负载均衡中,需要先创建虚拟服务器,然后再将其绑定到后端服务器上。
在配置虚拟服务器后,需要将其绑定到后端服务器上。在F5负载均衡中,可以通过IP地址、主机名或域名来添加后端服务器。添加后端服务器后,需要对其进行健康检查,以确保其正常运行。
负载要求
1、将虚拟服务器绑定到后端服务器上后,需要创建池。池是一组后端服务器的集合,它们共享同一个IP地址和端口号。在配置池时,需要指定负载均衡算法和会话保持方式。
2、在配置池后,需要对其进行健康检查。健康检查可以检测后端服务器的状态,并将不可用的服务器从池中删除。在F5负载均衡中,可以使用ICMP、TCP、HTTP等方式进行健康检查。
3、在配置F5负载均衡时,需要考虑源地址转换(SNAT)的问题。如果不进行SNAT配置,那么后端服务器将无法正确地识别客户端的IP地址。在F5负载均衡中,可以通过SNAT池来实现源地址转换。
随着用户访问的增多,一个应用服务器不能满足需求了,就需要部署多台应用服务器,通过负载均衡,将数据分发到不同的应用服务器。
从作用来看,和缓存集群的分发很相似,但是有不同。缓存需要发送到特定的服务器。但是,由于应用服务器是无状态的,因此,负载均衡不用根据请求分发到特定服务器,发送到哪个应用服务器都可以。
因此,负载均衡关注的技术焦点有两个,分别是:网络通信、路由选择
网络通信分为以下几种方法。
负载均衡服务器什么都不做,重定向响应
这种方法优点是简单,但是缺点也很明显:
由于这些问题,这种方法,在现实中几乎没有人使用。
每次请求DNS解析到IP地址不同,从而访问到不同到应用服务器。
这种方法,性能方面没有问题,虽然,还是2次http请求,但是不是每一次请求都需要域名解析,一次解析,ip就会记录到本地。下次,直接访问记录的ip。因此,性能无问题。
但是,由于域名解析服务器解析出的ip,如果出错,不会很快更新,且用户已经本地存储了ip也不会很快改变。因此,采用这种方案时,需要两级负载均衡。若应用服务器出错,在第二层负载均衡去掉。
对于安全性,现实使用时,该方法主要适用于两层负载均衡的情况,DNS负载均衡用于第一层负载均衡,解析出来的是第二层负载均衡服务器,因此,脆弱的服务器还是可以在内网中。淘宝、百度,不同时间ping,返回地址不同,意味着都是用了DNS负载均衡。
在应用层进行负载均衡,收到请求时,将请求转发到内网,再将收到的内网响应,返回给用户。
nagix本身的反向代理服务器,就有该功能。一般应用服务器是几十台,这种模式够用,再多一些,会不够用。因此,大一些的网站不会使用。
因为用的http请求协议,http比较重(比tcp的包重)。对反向代理服务器压力很大,其通过应用程序级别的线/进程才能完成分发,还要等应用服务器返回,因此,会有性能瓶颈。即使负载均衡做集群效率也低,因为后面的应用服务器有限。
因此,可以应用的规模很有限。
负载均衡服务器,和反向代理负载均衡原理相同,但是是在tcp层,修改包中源地址和目标地址,并发送到内网,收到响应后,再修改目标地址和原地址,返回给用户。
因为,负载均衡服务器处理的是ip那一层包,因此,处理能力可以提高。
但是,这种方法,请求和响应都通过了负载均衡,尤其是响应一般比较大。响应出口网络带宽会成为瓶颈。
数据链路层负载均衡,IP地址不变,只修改网卡MAC地址。应用服务器和负载均衡服务器共享一个虚拟ip。因为ip没有被修改过,tcp/ip协议还是通的,可以通过校验。又由于目的地址的mac地址改变了,因此,处理响应不用再经过负载均衡服务器。
大型互联网应用主要使用的负载均衡方案,也称为负载均衡的三角模式。
轮询
该方案已经被淘汰的。
通过session复制的方式,集群规模会受限制,复制不过来。做集群就是因为用户请求多,请求多,session也多,如果每个都有所有的session,对服务器压力很大。
来自相同的ip,总是到同一个应用服务器。这种方法也很快就淘汰了。
因为,会话需要会话关闭,如果因为发布程序,kill进程,session丢失。系统的可用性会下降。
发请求时,带cookie发送服务器,session记录的cookie中,返回给浏览器。任何一台服务器可以重cookie里得到session。
缺点:cookie变大,网络开销有影响。且有些浏览器禁用cookie,不好用。
早期使用的这个方案。缺点明显,但是生命力强。
对服务器架构要求很低。
你问的应该是服务器多网卡负载均衡吧。
说通俗点就是多个网卡协同工作,可以把上限值拉的很高,比如正常来说,一般标配服务器是四网口的千兆口。
那么设置四个网口负载均衡以后就可以达到1000+1000+1000+1000=4000Mbps的上下限速率,而且可以互相协调运行,就是1网口正在忙,可以让2网口3网口接替传输工作,或者是1和2负责上行数据,3和4负责下行数据,这个取决于相关业务软件的参数配置。
以上就是负载均衡我个人的理解
想详细了解的话,可以移步这里:
https://baikebaiducom/item/%E8%B4%9F%E8%BD%BD%E5%9D%87%E8%A1%A1/932451fr=aladdin
互联网接入系统内的负载均衡系统可以解决并发压力,提高应用处理性能(增加吞吐量,加强网络处理能力);提供故障转移,实现高可用;通过添加或减少服务器数量,提供网站伸缩性(扩展性);安全防护(负载均衡设备上做一些过滤,黑白名单等处理)。
实现负载均衡可以从硬件和软件两方面着手,在硬件上我们可以使用F5等负载均衡器,在软件上我们可以使用LVS、Nginx、HaProxy等负载均衡软件。使用硬件性能强悍,使用软件灵活智能。
用户请求数据包,到达负载均衡服务器后,负载均衡服务器在操作系统内核进程获取网络数据包,根据负载均衡算法得到一台真实服务器地址,然后将请求目的地址修改为获得的真实IP地址,不需要经过用户进程处理。 真实服务器处理完成后,响应数据包回到负载均衡服务器,负载均衡服务器,再将数据包源地址修改为自身的IP地址,发送给用户浏览器。
负载均衡的原理
1、利用DNS,通过使用域名解析实现负载均衡
配置多个A 记录,这些A记录对应的服务器构成集群。大型网站总是部分使用DNS解析,作为第一级负载均衡。 显而易见,使用这种方式的负载均衡的控制权在域名商那里,不易拓展,并且用这种方式的负载不能很好的分流,有可能造成所有的请求都集中到一个节点上。不过,若作为第一层的负载均衡的确是个好办法。
2、利用HTTP进行负载均衡
当HTTP代理(比如浏览器)向WEB服务器请求某个URL后,WEB服务器可以通过HTTP响应头信息中的Location标记来返回一个新的URL。这意味着HTTP代理需要继续请求这个新的URL,完成自动跳转。
0条评论