都说风云瞬息万变,在网络上也是分秒不同。同样的告诉流通带来的未知也是我们不可掌握的。每一分每一秒,都有很多的用户浏览同意服务器所支持的网站。那么对于这个动态的,变化着的网络问题我们就要用到负载均衡技术进行协调分配。
负载均衡技术
显然,单台服务器有限的性能不可能解决这个问题,一台普通服务器的处理能力只能达到每秒几万个到几十万个请求,无法在一秒钟内处理上百万个甚至更多的请求。但若能将10台这样的服务器组成一个系统,并通过软件技术将所有请求平均分配给所有服务器,那么这个系统就完全拥有每秒钟处理几百万个甚至更多请求的能力。这就是负载均衡最初的基本设计思想。
最早的负载均衡技术是通过DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询这个名字的客户机将得到其中一个地址,从而使得不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态。
其实,这种负载均衡的基本设计思想只能算是负载均衡技术的最初应用。现代负载均衡技术除了可以做到合理、平均、实时地均衡系统负载外,还能够确保系统正常运行的高可用性和高可靠性。
负载均衡服务能够平衡服务器群中所有的服务器和应用之间的通信负载,根据实时响应时间进行判断,将任务交由负载最轻的服务器来处理,以实现真正的智能通信管理和***的服务器群性能。
假设每个服务器能响应的请求为每秒10万个。如果不采用负载均衡,那么该系统就只能达到每秒10万个的响应,即使采用三台服务器,也有可能在不到每秒30万个响应的时候就会出现某台服务器由于访问量过大而宕机;如果某台服务器出现故障,则可能导致数万个请求不能得到正确的响应。但如果采用负载均衡,不仅当服务器出现故障时可以自动将指向该服务器上的响应分担到其他服务器,还可以在数据量不太大时也将任务分配到各个服务器中,避免出现有些服务器数据量很小而有的已因数据量接近极限导致性能急剧下降的现象。如果数据量超出了服务器的响应能力,只需增加服务器数目就可以平滑升级。也就是说,负载均衡技术不仅可以维持网络系统中负载的均衡分配,还能够维护网络系统的高可用性运行,因而是保证网络系统高性能的重要技术。
现代负载均衡技术通常操作于网络的第四层或第七层。负载均衡器可以根据实际的响应时间制定优先级交付决策,从而实现高性能、智能化流量管理,达到***的服务器群性能。采用第七层应用控制还可以减少通信高峰期的错误讯息,因为差错控制和流量管理技术可以侦测到一些错误信息并透明地将会话重定向到另一个服务器,使用户顺利地进行使用。例如,服务器A不可用或者数据库出现错误,错误信息将会返回到负载均衡器上,然后会将客户的访问指向服务器B或者将消息重放到其他数据库中去,整个过程对用户是透明的。
由于采用了负载均衡技术,自动故障恢复得以实现,服务的时间可以延长,24×7可靠性和持续运行成为可能。另外,负载均衡器一般也支持路径外返回模式,即绕过流量分配器,为那些焦急等待大量数据文件请求响应的客户提供更快的响应时间。
在***的负载均衡产品中,智能化越来越明显。一些智能化的负载均衡器能够侦测到像数据库错误、服务器不可用等信息,从而采取措施使会话恢复和重定向服务器使电子商务能够得以顺利进行。多址负载均衡器可以对客户发来的访问请求进行解析,计算出***地址,然后将该地址返回客户,使客户自动连接到对其请求来说***的数据中心。
缓存技术
负载均衡技术解决了出现大流量数据时服务器的智能化分配,但统计发现,在网络应用的需求中存在着许多冗余的内容,这些重复的需求占用了大量的网络资源。具体地说,在互联网上80%的用户都在访问20%的热门网站,而在这些热门网站中又有一些热门的内容吸引了绝大多数访问者的注意;对于企业局域网而言,员工所发出的网络指令也存在着很大的重复。以上的情况造成了计算机执行的指令具有很高的重复性,这是仅用负载均衡技术不能解决的。
对于缓存技术我们在这里就不展开来说了,那么未来,缓存和负载均衡技术的结合也是必然的一种趋势。如何有效将两个技术相互使用,这个问题还值得我们继续思考。