欢迎光临
我们一直在努力
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告

探索不同类型的负载均衡器:从简单到高级解决方案 (探索不同类型的基层工会女职工组织)

从简单到高级解决方案

简介

负载均衡器是确保应用程序高可用性和可扩展性的至关重要的组件。它们通过在多个服务器或服务之间分配流量来工作,从而防止单个服务器或服务出现故障,并允许应用程序处理更高的负载。

负载均衡器的类型

有不同类型的负载均衡器,每种类型都具有不同的功能和适合不同的用例。

1. 基本负载均衡器:

  • 使用简单算法,如轮询或随机选择,将流量分配到后端服务器或服务。
  • 在小型或低流量环境中提供基本负载均衡。
  • 示例:Nginx、HAProxy

2. 基于内容的负载均衡器:

  • 根据HTTP请求中的内容(例如URL或主机头)将流量分配到后端服务器或服务。
  • 用于将流量路由到特定的应用程序或服务,例如不同的网站或应用程序版本。
  • 示例:F5 Big-IP、Citrix ADC

3. 健康检查负载均衡器:

  • 除了基本负载均衡外,还执行健康检查以监控后端服务器或服务的可用性和响应能力。
  • 仅将流量路由到健康的服务器หรือ服务,从而提高应用程序的可用性。
  • 示例:AWS Elastic Load Balancer、Azure Load Balancer

4. DNS 负载均衡器:

  • 使用DNS系统管理后端服务器或服务的地址记录。
  • 当客户端查询DNS记录时,负载均衡器返回一个服务器或服务的地址,该地址被选为满足负载均衡算法。
  • 示例:AWS Route 53、Cloudflare

5. 全局服务器负载均衡器(GSLB):

  • 跨多个地理位置分发流量的负载均衡器。
  • 根据客户端的位置、服务器负载或其他因素来路由流量,从而提高应用程序的性能和可用性。
  • 示例:Akamai GSLB、Aruba EdgeConnect

6. 层 7 负载均衡器:

  • 在应用程序层(层 7)操作的负载均衡器。
  • 根据高级HTTP请求属性(例如URL、HTTP方法和标头)来路由流量。
  • 用于复杂的应用程序环境,其中需要细粒度的流量管理。
  • 示例:F5 Advanced WAF、Citrix ADC AppFirewall

选择合适的负载均衡器

选择合适的负载均衡器取决于应用程序的需求、流量模式和可用性要求。以下是需要考虑的一些关键因素:

  • 流量量和模式
  • 应用程序的复杂性
  • 可用性要求
  • 预算和资源约束

结论

负载均衡器是确保应用程序高可用性、可扩展性和性能的强大工具。通过了解不同类型的负载均衡器及其功能,组织可以根据其特定需求选择最合适的解决方案。从基本负载均衡器到高级层 7 负载均衡器,选择范围很广,以满足各种应用程序和环境的需求。


负载均衡器都有哪些牌子

主流的负载均衡f5radwarearraya10等

如何利用不同的负载均衡来提升网络性能

负载均衡是很多系统管理员都会忽视的问题,但是它很可能会损害它们的网络。

如果系统管理员发现网络性能不好,通常他们会为客户端提供更多的带宽(无论是内部网、外部网还是互连网),还要提供更快的骨干网并在服务器上花更多的钱。

但是这条路有时也需要优化,你可以通过网络负载均衡来实现这种优化。

网络负载均衡让系统能够更均衡地分配资源,避免快速涌来的大量数据被分配给一台Web服务器所导致通信阻塞。

让我们来看看不同类型的网络负载均衡,并了解为什么他们能够提高你的网络的性能。

三代不同的负载均衡的方法在市场上有几代不同的负载均衡的方案,它们的功能从简单逐渐变得更加复杂、强大。

第一代负载均衡产品只是简单的round-robin DNS机器它能够把HTTP进程在几个IP主机里进行分配。

这类系统使用简单的PING命令来保证进程请求不会被送到一个状态不佳的服务器那里,并为多服务器引入了一个变量来表示容错率。

第二代负载均衡产品不仅仅检查服务器是否还在运行,它还要检查服务器的性能状态。

也就是说,如果一台服务器负载过重,发进来的请求就会被转发到其他机器上以保证负载在所有能够获得的资源里均衡分配了。

第三代负载均衡产品覆盖了整个内容分发系统。

随着Web和网络服务变得越来越成熟,仅仅监视Web服务器的某一层是远远不够的。

如果一个Web主机非常健康,但是它的后台服务器或/和应用有问题的话,把请求发给这台主机也是毫无意义的。

新的服务,比如在线销售,都已经开始使用多层服务器来管理内容、数据库和事务处理引擎。

由于电子商务目前已经关系到客户的钱,这就要求我们必须保证能够为客户提供尽可能好的性能和可靠性。

因此,负载均衡厂商开发了第三代负载均衡产品以保证整个内容分发系统的健康、良好运行。

两种类型的负载均衡产品负载均衡产品基本上可以分成两大类:基于软件的负载均衡产品据我所知,基于软件的负载均衡产品唯一的问题就是它的速度比基于硬件的负载均衡产品要慢。

你之所以需要一个负载均衡产品,首先是因为你的网络以线速运行而你的服务器的速度却取决于应用的速度或应用传递内容的速度。

从另一个方面说,如果你的网络发生了变化,或者你需要一些特殊的功能,软件能够非常快地进行升级并满足你的需要。

基于硬件的负载均衡产品基于硬件的负载均衡通常是由路由器和switch完成的。

这些设备使用ASIC(application-specific integrated circuits),以线速运行。

这是市场上最快的负载均衡产品。

但是由于所有的功能都是由硬件完成,如果你的网络商业流程发生了改变,你就只能等着你的供应商来满足你的需求了。

你甚至可能会不得不买一个新的硬件。

它是如何工作的?负载均衡产品根据他们通过自己的agent(由负载均衡产品厂商开发)或者使用一些系统管理工具的模板,来收集关于后台服务器的信息,并根据这些信息调整对资源的分配。

Agent和系统管理工具两种方法各有利弊。

Agent是为特定的软件和硬件服务的,它能够非常严密地监视应用状况。

但是,这也意味着你被锁定在某一个特定的厂商上了。

使用现有系统管理工具的负载均衡产品可以通过API和公共协议监视更多的软件和硬件。

当然,使用这类产品来管理你的商业系统会引起一些安全性上的问题,这是你必须提前考虑到的。

如上所述,新一代的负载均衡产品不仅仅处理网络和服务器性能问题,他们还能够根据前台请求和后台内容来分配资源。

这一类产品会识别请求,然后把该请求挂起,直到所请求内容已经准备好了,这叫做delayed binding。

这种能够识别内容的路由非常有用,服务器集群可以为特定的应用(比如CGI、流媒体、cookie服务等等)进行调整,而且负载均衡产品会处理并分发所有的请求到保持连接的客户端。

这点非常重要,比如,使用SSL的Web购物车事务,因为SSL连接非常耗占处理器资源,所以必须稳定地保持几个Web流程和事务处理结束语选择何种负载均衡技术/产品应该取决于你需要处理的负载有多少,以及它们的复杂程度。

显然一个受欢迎但是简单的企业内部网站的负载均衡方案要比一个电子商务网站的简单的多。

至于电子商务网站,也许最新一代的负载均衡产品能够最好地满足它们的需求。

负载均衡进阶:SLB常见问题解决方法

摘要: 在由云栖社区和阿里云网络团队联合主办的2017阿里云网络技术在线高峰论坛上,阿里云技术专家添毅分享了网络产品部根据客户和阿里云运维的反馈提炼出的几大最主要和最常见的在使用SLB产品中发生的问题,并为大家介绍了针对这些常见问题的相应处理方法。

摘要: 在由云栖社区和阿里云网络团队联合主办的2017阿里云网络技术在线高峰论坛上,阿里云技术专家添毅分享了网络产品部根据客户和阿里云运维的反馈提炼出的几大最主要和最常见的在使用SLB产品中发生的问题,并为大家介绍了针对这些常见问题的相应处理方法。

想知道如何借助SLB构建高可用系统以及健康检查是如何实现的,本文不容错过!本文内容根据演讲嘉宾分享视频以及PPT整理而成。

本次的分享将会主要围绕以下5个部分 基本概念回顾 如何构建高可用系统 选择性能共享型还是性能保障型实例 为什么健康检查异常 为什么负载不均衡一、基本概念回顾 SLB是什么 SLB是阿里云推出的一款云负载均衡服务,其主要针对于多台云服务器进行流量分发,能够将业务流量分发到由多台云服务器所组成的后端服务器池上去,以此来提升系统的处理能力。

负载均衡所解决的问题主要包括两点:第一点,SLB能够消除系统的单点故障,这是因为SLB的后面是由多台云服务器组成的服务器池,那么当其中某一台服务器出现故障的时候并不会影响整个系统的可服务性。

第二点,由于后端的云服务器能够横向地进行扩展,所以也具有为海量业务提供服务的能力。

那么,为什么要使用云上的负载均衡呢?这是因为云上负载均衡主要有这样的几个特点:高可靠、高性能、低成本、安全性、易用性。

SLB基本组件 阿里云的SLB主要包括了三个基本组件,这里也进行简单地介绍。

第一个基本组件就是实例,每个实例都唯一地标识了云负载均衡器,并且每个实例都对应一个VIP,VIP唯一地标识了负载均衡实例,也是负载均衡对外提供服务的地址。

第二个组件是监听,监听是由VIP+端口号来唯一标识的,一个监听中包含用户定制的负载均衡策略和转发规则。

最后一个基本组件就是后端挂载的服务器,也就是云服务器ECS,负责处理真正的业务请求。

二、如何构建高可用系统 多层次的高可用 如下图所示,阿里云的负载均衡是从四个层面上去构建高可用的。

从底层往上层看,分别是应用级别的高可用、集群级别的高可用、可用区级别(AZ)的高可用以及地域级别(Region)的高可用。

应用级别的高可用主要是通过针对SLB后端的ECS实例的健康检查来实现的。

当SLB发现后端不健康的或者不能正常工作的ECS的时候,会将这些不健康的ECS从SLB的转发路径中剔除掉,保证业务流量能够转发到正常的工作服务器当中。

集群级别的高可用主要是通过集群中LVS机器间的session同步来保障任何一个用户的业务会话都能够在所有的LVS机器上是相互同步的,当其中某一台LVS出现故障时,可以由其他的LVS来接替出现故障的机器的工作。

同时,由于会话保持的存在,用户的业务是不会发生中断的。

对于可用区级别的高可用和地域级别的高可用,在本文的后面会进行更加详细的介绍。

细说可用区级别容灾 这里详细地介绍一下可用区级别的容灾。

可用区级别容灾的设计初衷是在当一个可用区出现重大灾情的时候,比如整个可用区的机房发生了掉电、光缆出现了中断、整个可用区机房中所有的物理机都无法正常工作的时候,也就是整个可用区都宕掉了的情况下,能够由备可用区来继续提供服务,这就是可用区级别容灾的设计初衷。

可用区级别的容灾并不是说某一个可用区中的某一个实例或者是某几个实例出现了故障就会发生可用区的切换,实例自动从可用区A切换到可用区B,这是一个比较常见的误区。

而针对于这样的误区,阿里云也建议用户在构建可用区级别的高可用的时候采取以下两个步骤: 首先,建议用户在SLB实例的后端尽可能地去挂载多个可用区的ECS实例。

SLB能够支持跨可用区地挂载ECS云服务器,这样可以避免某个可用区的ECS都出现故障的情况下,还有其他可用区的ECS能够接替工作,虽然跨可用区挂在ECS会存在大约2毫秒左右的延迟,但是却能够大大地提升服务的可用性。

第二步就是针对于一些特别重要的业务,建议在不同的可用区分别地去购买SLB的实例。

比如在可用区A和可用区B各自购买一个SLB实例,在此基础之上再使用全球负载均衡GSLB来进行实例间的调度。

跨地域容灾的实现 跨地域容灾这一部分与上面介绍的可用区级别容灾的第二步非常相似,也是借助于GSLB产品实现的,GSLB即 智能DNS实现了针对于后端的健康检查、路由调度的优化功能,能够实现在地域之间的负载均衡实例的调度。

关于这部分的更详细的内容请参考:全球负载均衡跨地域容灾解决方案(。

三、选择性能共享型还是性能保障型实例 共享型vs保障型-WHY保障型 在如今这个共享经济的时代,像滴滴打车这样的模式是非常火的。

但是即便是有了滴滴打车,但是还有人会去买车,这是因为会出现如下两个大家可能曾经都碰到过的场景: 早晚高峰叫不到车?雨雪天气路边冻成狗?还大幅提价? 假期想远离尘嚣,找个僻静旷野放空自我,叫个滴滴?也许有去,但保证无回! 所以说共享和保障都是客户的需求。

出于对于类似需求的考虑,阿里云的负载均衡也推出了性能保障型实例。

以前所推出的SLB共享型实例是因为性能指标没有办法实现隔离,因为所有的共享型实例都处于同一个大共享资源池中,所以在高峰期的时候就会出现资源的争抢,这样就无法满足对于性能具有刚性需求的大客户的诉求。

除此之外,还有一些体量特别大的超级用户,他们对于性能的要求会是非常高的,但是由于共享型实例无法做到性能隔离,也支持不了大颗粒度的性能指标,所以也无法完成这样的工作。

因此,阿里云推出了性能保障型的负载均衡实例。

超强性能 保障型实例的性能规格如上图所示,其并发连接数最大可以达到500万,每秒的新建链接数(CPS)可以达到50万,针对于七层负载均衡系统的QPS可以达到10万。

除此之外,性能保障型实例还具有以下的特点:超强HTTPS性能。

性能保障型实例针对于七层系统,特别是HTTPS的业务进行了优化,实现了高性能硬加解卡,并且能够实现使HTTPS的业务单实例可达10万QPS。

超大并发连接数。

性能保障型实例的单实例的并发连接数可达500万,所以其可承载物联网场景的下海量连接,可以支撑共享自行车、智能手表等存在特别大量长连接的场景。

共享型实例平滑升级。

原有的共享型实例可以平滑升级至性能保障型实例,而无需更换VIP。

完善的业务监控系统。

在推出性能保障型实例之后,因为每个实例都有相应的性能规格和性能指标,所以阿里云也为用户提供了完整的业务指标监控系统,并支持电话、短信、钉钉企业群等方式的告警。

性能规格 上图所展现的是阿里云SLB性能保障型实例的规格参数。

图中的最后两行规格7、8默认在控制台上是无法购买的,目前只针对企业级用户,而且需通过客户经理申请后,通过白名单开放。

如何选择规格 对于保障型实例而言,主要有如下几个性能指标: 最大连接数:一个实例可承载的最大连接数。

新建连接数:CPS表示一个实例每秒可以新建的链接数。

每秒查询数:QPS表示一个实例7层的像HTTP或者HTTPS系统的吞吐量。

通常一个4层SLB的性能好坏由最大连接数和新建连接数来衡量,它们表示了一个SLB系统的并发能力和处理突发连接的能力。

通常一个7层SLB的性能好坏主要由QPS决定,QPS表示了一个7层系统的吞吐量。

这里需要注意的是QPS是7层独有概念。

虽然每个规格都定义了三个性能指标,但是这并不代表这三个性能指标在任何一个性能场景下或者任何一个时刻都能够同时达到最大值,这里存在一个性能指标的短木板原则。

比如在某一个应用系统中,QPS已经达到指标上限,但最大连接数还远远没有达到上限,这时不论怎样加大客户端数量,最大连接数都会因为QPS达到上限,而无法达到最大值。

对于规格的选择而言,需要通过之前提到的业务监控系统来获取相关指标。

如果用户十分了解自己业务的相关指标,也就是对于高峰期的并发连接数会达到多少以及QPS会达到多少都有非常清晰的了解,也可以直接在控制台上选购。

但是如果用户并不清楚自己的相关业务指标,可以在初期选购按量付费的较高规格的实例,并且在一个业务周期内监控流量的峰值,在峰值确定好之后再通过变配的方式改变到比较合适的实例规格。

目前性能保障型实例还处于公测阶段,所以现在还没有对于实例收取规格费用,也就是说在这个阶段无论用户选择最小规格还是最大规格,实际上都只需要花费IP配置费和带宽费就可以了,这样也比较便于用户去熟悉和使用阿里云的性能保障型实例。

监控和告警 前面也有所提及,在负载均衡的控制台上面能够直接地显示出相应的一些性能指标,但是在这里只能够实现对于性能指标的监控,却无法进行告警。

如果用户需要进行监控告警,可以在阿里云所提供的云监控控制台进行操作。

云监控平台可以监控阿里云中的所有产品并且实现业务告警的定制,并且可以选择包括短信邮件、电话、企业钉钉群等方式进行业务的实时告警。

四、为什么健康检查异常 健康检查机制 接下来分享在负载均衡的日常使用中出现的问题,特别是很多用户都存在疑问的健康检查部分的问题。

阿里云的负载均衡一共可以支持四种协议,四层的负载均衡系统主要包括了TCP、HTTP以及UDP协议,而七层的系统则包括了HTTP和HTTPS,而由于目前HTTP和HTTPS都是使用的普通的HTTP方式,所以其实也可以归结为三类协议。

对于TCP而言,健康检查的过程是通过发送ACK这种TCP的探测报文去探测端口是否仍然存活;对于HTTP而言,则主要使用的是HEAD的请求方式来检查目标的页面是否正常;UDP部分则主要借鉴了SMP协议的原理。

健康检查部分主要会涉及到几个指标,这些指标需要用户在控制台上进行设置,上图中给出了一些默认的建议值,比如响应的超时时间,也就是在每一次进行健康检查的时候,如果超过一定时间健康检查还没有回应就认为这次的健康检查是失败的;还有健康检查间隔,也就是两次健康检查之间通常需要间隔2秒钟;而所谓的不健康阀值和健康阀值就是在网络环境中往往会由于网络的抖动以及其他的因素导致偶尔的一次健康检查失败了,但是这时候并不能认为服务是真的失败了,所以需要设置一个阀值,比如3次就指的是当3次健康检查都失败的时候才会认为后端的服务是存在问题的,然后将其从转发路径中摘除掉。

同样的,当服务从不健康变为健康的时候,也需要进行连续的几次探测,当确定处于稳定的健康状态之后再将其加入到SLB的后端中去。

为啥会失败(TCP) TCP的健康检查也经常会出现一些失败的情况,这里也为大家提供了简单的故障排查顺序供参考。

当出现健康检查失败的时候,首先可以检查一下后端的服务器是否已经启动。

如果后端服务器的负载是比较高的,也可能会因为没有CPU时间去处理健检查的回应,这样就有可能导致健康检查失败。

除此之外,因为对于阿里云的负载均衡而言,健康检查使用的都是私网地址实现的,所以如果根本没有监听到私网地址或者私网地址本身存在故障也会导致健康检查的失败。

还有服务器上可能存在防火墙,将监听端口屏蔽掉了,导致健康检查并未通过。

此外还可能存在一些配置方面的问题,比如提供服务的端口和做健康检查的端口不一致也可能存在健康检查失败。

针对于TCP的健康检查而言,很多用户会经常看到自己的后端服务器上日志上面有很多10或者16这些网段的访问,并且访问流量还比较大,这是因为之前所提到的健康检查具有一定的间隔时间,比如2秒或者3秒一次。

这时候一些用户可能就会认为健康检查会影响服务器的性能,占了很多的服务器的连接数。

其实可以从上图中左侧的报文交互情况看到,当SLB对于云服务器发起健康检查的时候首先会发一个SYN的请求,如果服务器端口是存活的,那么它会回应一个ACK,这个时候SLB端就会紧接着发送RST报文。

也就是说实际上连接是并没有建立的,所以也不会占用后端服务器的连接数的资源,并且对于性能的影响也是极为有限的。

为啥会失败(HTTP) HTTP常见的健康检查失败原因大概会有这样的三点:最常见的情况就是有些用户把服务器的HEAD请求方式禁掉了,因为默认在使用浏览器或者手机等请求一个页面的时候使用的都是GET方式,有时候可能需要上传数据则会使用POST方式,虽然很多服务器都支持HEAD请求方式,但是有些服务器可能会处于安全或者其他复杂因素的考虑将HEAD请求禁掉。

所以在这里建议客户将服务器的HEAD请求方式打开,因为阿里云负载均衡七层健康检查方案就是使用的HEAD方案。

另外一种常见情况就是页面访问本身上就存在问题,这样的情况下健康检查也是无法通过的。

最后一种常见情况就是期望结果配置错误,针对于七层的健康检查是通过使用HEAD请求方式去请求页面,页面返回码可能会是200、300或者400以及500等,用户可以在健康检查的配置中设定预期的正常情况下的返回码值,当健康检查返回码值与预期值不一致就会判定健康检查是失败的。

为啥会失败(UDP) 这里介绍一下UDP健康检查的原理。

首先,健康检查通过SLB向后端发送UDP报文探测来获取状态信息。

SLB会周期性地给后端ECS发送UDP报文,如果UDP端口的业务处于正常情况,则没有任何回应。

而当服务出现问题,比如指定的UDP服务端口处于不可达的情况或者无服务的状态的时候,会回复ICMP的不可达报文。

这里也会存在一个问题就是如果后端服务器已经变成了网络中的孤岛,比如出现了整个服务器的掉电、关机情况这样完全不能工作的状态,这时候的ICMP不可达报文是永远不可能收到的,因为后端的服务器无法收到SLB发来的UDP探测报文,那么在这种情况下,可能会出现误认为后端健康的情况,但是实际上这个服务可能已经宕掉了。

为了应对这种情况,健康检查还提供用户自定义UDP应答报文来实现精确的UDP健康检查,也就是由用户自定义指定一个字符串,当后端的云服务器收到UDP健康检查的探测的时候,也回应指定的字符串,之后SLB对于这个字符串进行对比和校验,如果匹配成功则认为服务一定是健康的,这样就可以实现非常精确的健康检查。

而UDP的健康检查失败也有很多原因,比如在协议栈里面有可能会有ICMP限速保护。

当频率达到一定速率的时候,ICMP会被协议栈限制,后端无法回应ICMP不可达报文,进而导致SLB收不到ICMP的报文,出现健康检查的失败情况。

所以这部分是需要注意的,如果可能尽量将速率限制放大一些。

其他问题 健康检查时好时坏的可能原因如下: HTTP类型健康检查目标URI响应慢。

比如本身是动态页面,会涉及到大量的计算才能够渲染完成并返回到前端,这样肯定就会导致健康检查响应比较慢。

如果服务器负载过高同样也会出现这样的问题。

未全部放开对SLB健康检查源地址的限制导致分布式健康检查失败。

因为阿里云的服务器都是分布式的部署,健康检查也会是分布式的探测,LVS等机器在后端有不同的源去针对某一个云服务器进行探测的,所以如果没有将这些源地址都放开,实际上也会影响健康检查的效率,因为对于这么多机器而言,只要有一台机器检测到是正常的那么就是正常的。

还可能出现直接访问正常,但是健康检查失败的情况。

造成这样情况的可能原因如下: 防火墙限制。

目的端口不一致。

检查方法不同,可能使用浏览器看页面是没问题的,但是健康检查却不行,这就是因为刚才所提到的HEAD方法没有开启。

或者七层的健康检查配置了URL按照域名转发,但是在浏览器上直接访问则是使用域名去做的,而健康检查是使用IP地址做的,这样也可能出现转发和预期结果的不同。

检查频率不同,ICMP限速。

五、为什么负载不均衡 调度算法与会话保持 首先介绍一下负载均衡的调度算法。

阿里云的负载均衡支持三种算法,第一种算法是单纯的轮询(RR),也就是将业务的请求依次地分发到后端的服务器。

第二种算法是加权轮询(WRR),也就是在处理调度的时候会根据针对于每一台后端服务器设置权重来进行转发。

这里之所以设置权重是因为后端服务器的处理能力可能是不同的,如果使用相同的权重进行轮询可能就会把后端处理能力比较弱的服务器挤爆,所以需要针对于服务器的处理能力设置一些权重。

第三种算法是针对于加权最小连接数的轮询(WLC),也就是除了根据每台后端服务器设定的权重值来进行轮询,同时还考虑后端服务器的实际负载,也就是连接数。

当权重值相同时,当前连接数越小的后端服务器被轮询到的次数也越高,这样就能够保证负载尽量地均衡。

如果不考虑这一点就会造成某些服务器连接数已经很高了但是流量依然还往上面分发,而另外一些服务器却一直处于空闲状态。

会话保持指的是来自同一用户请求始终保持分发到同一台后端的云服务器上。

对于同一用户而言,使用的是四层的负载均衡和使用七层的负载均衡在理解上是不一样的。

如果是四层负载均衡,则会使用源IP地址标识同一用户,所以如果在可能会有很多办公电脑的大型企业中,这些电脑在企业内部是通过局域网的IP进行通信的,在访问公网的时候都是通过NAT网关处理的,所以在走到Internet的时候,源地址通常会是一个或者很有限的几个。

在这种情况下,如果是四层的负载均衡就会把里面所有的请求都视为来自同一个用户的,这种情况下如果开启了会话保持,就会发生问题。

而七层的负载均衡是根据用户浏览器中的Cookie来进行唯一识别的,对于刚才的案例在大型企业里面因为内网访问公网的源地址都是一样的,导致没有办法识别到底是不是同一个用户,此时建议使用七层的负载均衡方案解决,因为Cookie是每个浏览器都唯一的。

会话的保持时间是可以在控制台上配置的,四层的负载均衡方案最大可达1小时,而七层的方案最大可达24小时。

为何不均衡 最后分享一下不均衡的常见情况。

有时候会需要新加一个服务器进来,这时候往往到新加进来的服务器上的连接会很少,这是因为可能会存在以下原因: 存在会话保持的情况下,会话保持会让请求停留在原有的服务器上,这样到新加进来的服务器上的连接自然会少一些。

权重设置不一致,如果在权重的设置上存在区别,而新加进来的服务器的权重如果很低,连接也过不去。

应用属于长连接类型,因为需要在TCP上复用,如果客户端不主动断开连接,后续所有的请求都会继续复用当前服务器上的连接,只有新建连接才有可能到新的服务器上。

而有时候在业务量或者新建连接较少时,也会出现负载不均衡的问题。

这是因为每个Core都是独立的调度单元,因此可能存在将某个Client的多条业务经过不同core的调度后全部转发到一台ECS上的情况,同时由于业务量较少,因此出现了不均衡。

建议使用轮询算法解决,在RR轮询算法中加入了扰乱因子,可以更加有效的打散SLB到后端的转发路径。

原文链接

赞(0)
未经允许不得转载:优乐评测网 » 探索不同类型的负载均衡器:从简单到高级解决方案 (探索不同类型的基层工会女职工组织)

优乐评测网 找服务器 更专业 更方便 更快捷!

专注IDC行业资源共享发布,给大家带来方便快捷的资源查找平台!

联系我们