负载均衡机制应运而生的廉价有效透明的方法
发布时间:2024-02-24 15:28:39

随着网络各核心部分的业务量、访问量、数据流量的快速增长,其处理能力和计算强度也相应提高,单一设备无法承受。 在这种情况下,如果扔掉现有的设备,做大量的硬件升级,这会造成现有资源的浪费,而如果面临接下来业务量的增加,这又会导致另外一个硬件的成本高昂升级。 即使性能优异的设备也无法满足当前业务量的需求。 于是,负载均衡机制应运而生。

负载均衡(Load)是建立在现有网络结构之上的。 它提供了一种廉价、有效、透明的方法来扩展网络设备和服务器的带宽、增加吞吐量、增强网络数据处理能力、提高网络灵活性和可用性。

负载均衡有两层含义:一是将大量并发访问或数据流量分担到多个节点设备分别处理,减少用户等待响应的时间; 第二,将单个重负载操作分担给多个节点设备进行并行处理,每个节点设备完成处理后,将结果汇总并返回给用户。 系统处理能力大大提高。

本文介绍的负载均衡技术主要是指均衡服务器组内所有服务器和应用程序之间的流量负载的应用。 目前,负载均衡技术主要用于提高Web服务器、FTP服务器等关键任务服务器的性能。 服务器程序的可用性和可扩展性。

负载均衡实现要素

网站建设初期就应该考虑负载均衡的解决方案。 然而,有时随着接入流量的爆发式增长,超出决策者的预期,这就成为不得不面对的问题。 当我们引入某种负载均衡解决方案甚至实施它时,就像许多其他解决方案一样,我们首先确定当前和未来的应用需求,然后在成本和有效性之间进行权衡。

基于当前和未来的应用需求,分析网络瓶颈的差异,我们需要确定采用哪种类型的负载均衡技术,采用什么样的均衡策略,以及在可用性、兼容性、安全性方面要满足多少等等需求等等。

无论负载均衡解决方案是通过使用较便宜的软件来实现,还是通过购买昂贵的硬件(例如性能功能更强的四层交换机和负载均衡器)或其他不同类型的均衡技术来实现,以下各项都是我们可能想要的问题引入平衡解决方案时要考虑:

性能:性能是我们引入平衡方案时需要考虑的关键问题,但也是最难把握的问题。 在衡量性能时,每秒通过网络的数据包数量可以作为一个参数。 另一个参数是平衡方案中服务器组可以处理的最大并发连接数。 然而,假设一个平衡的系统可以处理数百万个并发连接数,但只能以每秒2个数据包的速率进行转发,这显然没有任何效果。 性能与负载均衡设备的处理能力以及采用的均衡策略密切相关,有两点需要关注: 1、均衡方案对整体服务器组的性能,即响应客户端连接请求的速度的关键; 2、对设备本身的性能进行负载均衡,避免在有大量连接请求时,性能不足成为服务瓶颈。 有时我们也可以考虑使用混合负载均衡策略来提高服务器组的整体性能,例如DNS负载均衡和NAT负载均衡的结合。 另外,对于有大量静态文档请求的网站,还可以考虑使用缓存技术,相对来说更划算,可以提高响应性能; 对于SSL/XML内容传输量较大的网站,应考虑使用SSL/XML 技术。

可扩展性:IT 技术日新月异。 一年前的最新产品现在可能是网络中性能最低的产品。 随着业务量的快速增加,一年前的网络现在需要新一轮的扩容。 一个合适的平衡解决方案应该能够满足这些需求,能够平衡不同操作系统和硬件平台之间的负载,能够平衡HTTP、邮件、新闻、代理、数据库、防火墙和Cache等不同服务器的负载,并能够响应客户以完全透明的方式动态添加或删除某些资源。

灵活性:一个平衡的解决方案应该能够灵活地提供不同的应用需求,满足不断变化的应用需求。 当不同的服务器组有不同的应用需求时,应该有多种平衡策略,以提供更广泛的选择。

可靠性:在服务质量要求较高的站点中,负载平衡解决方案应该能够为服务器场提供全面的容错和高可用性。 但当负载均衡设备本身出现故障时,应该有好的冗余方案来提高可靠性。 使用冗余时,同一冗余单元中的多个负载平衡设备必须有有效的方式相互监视,并尽可能保护系统免受重大故障的影响。

易于治理:无论是通过软件还是硬件的平衡解决方案,我们希望它具有灵活、直观、安全的管理方法,以便易于安装、配置、维护和监控,提高工作效率并避免错误。 在硬件负载均衡设备上,目前主要有三种管理方式可供选择: 1、命令行界面(CLI:Line),可以通过超级终端连接负载均衡设备的串口进行管理,也可以远程进行管理登录进行管理。 在初始化配置时,经常使用前者; 2、图形用户界面(GUI:User),包括基于普通网页的管理和通过Java进行的安全管理。 一般要求管理端安装一定版本的浏览器; 3.、SNMP(简单网络管理协议)支持,通过第三方网管软件来管理符合SNMP标准的设备。

负载均衡配置示例

DNS负载均衡

DNS负载均衡技术是在DNS服务器中为同一个主机名配置多个IP地址。 DNS服务器在响应DNS查询时,会根据DNS文件中记录的IP地址,为每次查询按顺序返回不同的解析结果。 直接客户端访问不同的机器,使不同的客户端访问不同的服务器,实现负载均衡。

DNS负载均衡的优点是经济、简单、易于实现,服务器可以位于互联网上的任何地方。 但它也有很多缺点:

为了使该DNS服务器能够及时与其他DNS服务器进行交互,保证DNS数据及时更新,并且可以随机分配地址,DNS刷新时间一般设置为较小的值。 但如果太小,DNS 流量将显着增加,导致额外的网络流量。 问题。

一旦服务器出现故障,即使及时修改了DNS设置,仍然要等待足够的时间(刷新时间)才能生效。 在此期间,保存有故障服务器地址的客户端计算机将无法正常访问该服务器。

DNS负载均衡采用简单的轮询负载算法,无法区分服务器差异,无法反映服务器当前的运行状态,也无法将更多的请求分配给性能较好的服务器。 客户的请求甚至可能集中在某个服务器上。 服务器上的情况。

每台服务器都必须分配一个IP地址,这样必然会占用太多的IP地址。

判断站点是否使用DNS负载均衡的最简单方法是持续ping域名。 如果多个解析返回的IP地址不同,那么该站点很可能使用了更常见的DNS负载均衡。 但情况不一定如此,因为如果使用DNS响应平衡,多次解析返回的IP地址可能会不同。 您不妨尝试 ping,,。

现在假设有三台服务器来处理该请求。 使用BIND 8.x DNS 服务器在unix 系统上实现相对简单。 只需要在域的数据记录中添加类似如下的结果即可:

.1.1.1

.1.1.2

.1.1.3

万维网

万维网

万维网

NT下的实现也很简单。 下面详细介绍DNS负载均衡的实现过程。 NT4.0类似:

打开“治理工具”下的“DNS”,进入DNS服务配置控制台。

打开相应DNS服务器的“属性”,在“高级”选项卡的“服务器选项”中,选中“启用循环”复选框。 此步骤相当于向注册表记录 \\\\DNS\ 添加一个双字节值(dWord 值),值为 1。

打开正向搜索区域对应区域(举例),新建主机并添加主机(A)资源记录,记录如下:

.1.1.1

.1.1.2

.1.1.3

这里可以看到的区别是,在NT下,一个主机名对应多个IP地址记录,但在Unix下,首先添加多个不同的主机名来对应自己的IP地址,然后为这些主机分配相同的别名​​域名(CNAME)来实现。

这里需要注意的是,NT下的本地子网优先级将取代多主机名的循环重用。 因此,在测试时,如果用于测试的客户端IP地址与主机资源中记录的IP在同一类掩码范围内,则需要在“高级”的“服务器选项”中清除“启用排序” “ 标签。

NAT负载均衡

NAT(网络地址转换)简单来说就是将一个 IP 地址转换为另一个 IP 地址。 它通常用于在未注册的内部地址和合法的注册IP地址之间进行转换。 适用于IP地址紧张、网络外部不知道内部网络结构的情况。 每次NAT转换必然会增加NAT设备的开销,但是这种额外的开销对于大多数网络来说是微不足道的,除了在有大量NAT请求的高带宽网络上。

NAT负载均衡将一个外部IP地址映射到多个内部IP地址,将每个连接请求动态转换为内部服务器的地址,并将外部连接请求定向到转换后的地址的服务器,从而实现负载均衡。 目的。

NAT负载均衡是一种比较完善的负载均衡技术。 起到NAT负载均衡功能的设备一般位于内部服务器与外部网络之间的网关处,比如路由器、防火墙、四层交换机、专用负载均衡器等,均衡算法也比较灵活,比如随机选择、最小连接数和响应时间来分配负载。

NAT负载均衡可以通过软件和硬件的方法来实现

TOP