阿里云负载均衡权重(阿里云的负载均衡)

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

本篇文章给大家谈谈阿里云负载均衡权重,以及阿里云的负载均衡对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

阿里云域名的负载均衡权重什么用

申请域名以后,再申请速成网站,有几百套网站模板可选,也可以自己搭建模板,所有文字和图片都是可以改的。有学习视频等资料,一般看半天左右就会做网站了。

国际版 (5G主机,不用备案,不限流量,可先试用):160元。

可以加一下。

slb配置详解

我们一起来快速认识一下,负载均衡——SLB。负载均衡SLB是将访问流量根据转发策略分发到后端多台云服务器(ECS实例)的流量分发控制服务。包含两种含义:一是通过流量分发,扩展应用系统的服务能力;二是消除单点故障,提高应用系统的可用性。

应用场景

我们具体来看一看它的使用场景。

第一个使用场景的是用于高访问量的业务。

当你的应用访问量非常大,单台的服务器已经无法承载这个访问量的时候,就可以使用负载均衡,将流量分发到不同的服务器上去。

第二个场景是横向扩张系统。

当你已经使用了负载均衡,在业务有波动时可以在后端非常方便的添加和减少ECS来调整自己应用的服务能力。

第三个应用场景是消除单点故障。

当我们在使用负载均衡时,后端有多台ECS在同时工作的。一旦其中一台ECS上的应用发生了故障,那么负载均衡会通过一个健康检查的机制来及时的发现这个故障,并且能屏蔽对这台ECS的流量转发,然后将用户的请求转发到另一台正常工作的ECS实例上。

同城的容灾

阿里云负载均衡可以实现同地域多可用区之间同地域容灾,当主可用区出现故障是,可以在短时间内切换到另一备用可用区,以恢复服务能力。同时,主可用区恢复访问时,它会自动切换到主可用区。

跨地域容灾

跨地域容灾通过云解析做智能DNS,将域名解析到不同地域的负载均衡实例地址下,以实现全局负载均衡,当某个地域出现不可用时,暂停对应解析即可实现所有用户访问不受影响。

配置负载均衡

下面我们来演示一下负载均衡该如何去配置。

首先要做好准备工作,我们需要开通一台负载均衡实例和与负载均衡同一个地域的两台ECS服务器。

创建好以后,我们就可以在负载均衡的控制台看到这样一台实例了。

接下来,我们要给这个负载均衡创建一个监听。“监听”可以简单的理解为对应后端服务器里面的一个应用,比如一个网站我们来点击监听,然后点击添加监听。

假设我们的后端服务器里面有一个http的网站前端协议端口,我们可以将前后端协议端口TCP都写成80,然后根据自己的需要来选择调度算法,其实就是流量的转发方式。

下一步是健康检查,我们可以选择TCP方式。

健康检查端口会默认的和后端服务器的端口保持一致,直接确认就好了。现在,一个监听就配置好了。

接下来要去规定这台负载均衡的后端服务器是哪些。点击后端服务器,然后点击未添加服务器,将我们刚才创建的两台服务器勾选,然后批量添加就可以了。

这里有一个权重需要大家注意一下,这里的权重就是一个比例的概念,如果两台服务器写的都是100,流量将会以1:1的方式被转发到后端的两台服务器上。

日更100天(30)每天进步一点点

开始时间:2021.08.01

结束时间:2021.10.08

愿意一起进步就每天点进来看看,如果哪里有错误请在评论下方指教。第一个百更是关于阿里ACP证书的考试,不了解阿里产品的最好还是先看下相关资料(后面有答案)。

1. 阿里云的资源是多地域(Region)、多可用区(Zone)部署的,通常来讲,同地域不下同可用区之间的距离大概在________范围。

A. 数百米

B. 数公里

C. 数十公里

D. 数百公里

2. 在阿里云的专有网络VPC中,________是用于连接VPC内的各个交换机的设备。

A. 路由器

B. 路由表

C. 云服务器ECS

D. 负载均衡SLB

3. 阿里云的弹性伸缩主要可以提供的功能,下面说法错误的是?

A. 根据客户业务需求横向扩展ECS实例的容量,即自动增加和减少ECS实例,数量是有限制的。

B. 支持SLB负载均衡配置:在增加或减少ECS实例时,自动向SLB实例中添加或移除相应的ECS实例

C. 支持RDS访问白名单:在增加或减少ECS实例时,自动向RDS访问白名单中添加或移出该ECS实例的IP

D. 多模式兼容,可同时配置定时、动态、自定义、固定、健康模式,可通过API方便对接外在监控系统

4. 云盾是阿里云整体安全体系的一部分,为云上客户和阿里云自身提供多方面的安全保障功能。以下关于云盾的描述,正确的是________。

A. 是一款软件产品,用户开通云产品后需要安装才能使用

B. 是一款硬件产品

C. 是阿里云为用户提供的,包括安全漏洞检测、网页木马检测以及主机入侵检测、防DDoS攻击等功能的一站式安全服务

D. 云盾的所有功能都需要付费使用

5. 阿里云弹性伸缩(Auto Scaling)的冷却时间是指在同一个伸缩组内,当有一个伸缩活动被成功执行后的一段锁定时间内,该伸缩组不执行其他的伸缩活动。以下关于冷却时间的开始计时的时间点的说法正确的是?

A. 当伸缩组加入或移出多个ECS实例时,最后一个ECS实例加入或移出完成后,整个伸缩组冷却时间才开始计时

B. 当伸缩组加入或移出多个ECS实例时,第一个ECS实例加入或移出完成后,整个伸缩组冷却时间才开始计时

C. 伸缩活动结束后,冷却时间马上开始计时

D. 伸缩活动开始后,冷却时间马上开始计时

6. 对于不同类型协议的监听,负载均衡服务的监控检查功能发送不同的探测请求。针对四层UDP监听,监控检查通过________探测来获取ECS实例的状态信息。

A. UDP HEAD请求

B. UDP报文

C. UDP SYN数据包

D. UDP RST数据包

7. 在使用阿里云负载均衡SLB产品时,如果从负载均衡服务中移除ECS实例,直接将ECS实例从负载均衡实例中移除,可能会造成业务闪段。建议先执行以下哪个步骤?

A. 将ECS实例权重修改为0

B. 先停止ECS实例上web服务

C. 在管理控制台里将ECS实例停止

D. 将负载均衡的健康检查功能关闭

8. 在阿里云上创建专有网络VPC时,VPC会自动为用户创建1条系统路由,这条路由的作用是________。

A. 没有任何作用

B. 用于专有网络外的云产品实例访问专有网络内的云产品实例

C. 用于专有网络内的云产品实例访问专有网络外的云服务(该云服务支持VPC内的云产品实例直接访问)

D. 用于专有网络内的云产品互访

9. 针对阿里云专有网络VPC内的云服务器ECS实例,可以通过安全组来进行ECS实例的访问控制配置。以下说法中正确的是_。

A. 一个安全组中可以包含同一个可用区的不同VPC里的云服务器ECS实例

B. 一个安全组中可以包含同一个地域的不同VPC里的云服务器ECS实例

C. 一个安全组中仅可以包含同一个可用区的同一个VPC内的云服务器ECS实例

D. 一个安全组中可以包含同 一个地域的同-个专有网络VPC内的云服务器ECS实例

10. 在使用阿里云的负载均衡SLB实例时,可以对后端云服务器ECS实例配置不同的权重,权重越大的ECS实例,会被分到越多的负载。某个SLB实例的后端服务器池中有5个ECS实例,都处在健康状态,其中一台实例ecs_inst1权重被设置成了100,以下说法中正确的是________。

A. 由于不确定其他4台ECS实例的权重配置,所以无法判断ecs_inst1会被分到多大比例的负载

B. 100%的负载都会被分发到ecs_inst1上去,其余4台ECS实例会处于空闲状态

C. 根据SLB的工作原理,ecs_inst1将会被分到大约20%左右的负载

D. 根据外部请求中的请求级别参数判断,所有请求级别参数为100的,都会被转发至ecs_inst1

答案:

1.C

2.A

答案解析: 路由器(VRouter)是专有网络的枢纽。作为专有网络中重要的功能组件,它可以连接VPC内的各个交换机,同时也是连接VPC和其他网络的网关设备。每个专有网络创建成功后,系统会自动创建一个路由器。每个路由器关联一张路由表。 详细信息,请参见路由表概述。 参考链接:

3.A

答案解析: 弹性伸缩是可以根据客户业务需求横向扩展ECS实例的容量,即自动增加和减少ECS实例,但是伸缩组内不限制ECS实例的数量。参考链接:

4.C

答案解析: 云盾是阿里巴巴集团多年来安全技术研究积累的成果,结合阿里云云计算平台强大的数据分析能力。为中小网站提供如安全漏洞检测、网页木马检测以及面向云服务器用户提供的主机入侵检测、防DDOS等一站式安全服务。云盾的功能产品部分是可以免费使用的。

5.A

答案解析: 伸缩活动中,最后一个ECS实例加入或移出完成后,整个伸缩组冷却时间才开始计时,伸缩活动结束并不代表最后一个ECS实例已经加入或移出完成。

6.B

答案解析: 针对四层UDP监听,健康检查通过UDP报文探测来获取状态信息 参考链接:

7.A

答案解析: 题目问的是:直接将ECS实例从负载均衡实例中移除,可能会造成业务中断。因为有部分用户的请求可能这台ECS此时正在处理,所以如何保证业务不中断也能把ECS给下线(从负载均衡中移除)了。所以最好的办法就是”将ECS实例权重修改为0“。这样ECS就不会再被分配新的请求了,同时待权重修改之前的请求处理完成了,就可以把该ECS直接从负载均衡中移除了。文档释义:将负载均衡后端ECS的权重置零,相当于将该ECS手工下线,用于对相应ECS进行重启、配置调整等主动运维。而由于该状态下,业务数据是无法经负载均衡转发到该服务器的,所以健康检查相应的自然会显示异常。

8.D

答案解析: 以100.64.0.0/10为目标网段的路由条目,用于VPC内的云产品通信。参考链接:

9.B

答案解析: 一个安全组可以管理同一个地域内的多台ECS实例

10.A

答案解析: 因为只有一台配置了100的权重,并不知道其他4台ECS的具体权重配置(并不是说一台设置了100的权重,其他的权重都必须0,其他ECS也是同样可以设置为100的权重,这样和这一台的权重是相同的,被分发的请求量也是相同的),所以所以无法判断ecs_inst1会被分到多大比例的负载。

负载均衡基本介绍

【负载均衡架构部分转自】 58沈剑 [架构师之路](

负载均衡: 是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】

常见的负载均衡方案:

【客户端层】到【反向代理层】的负载均衡,是通过“DNS轮询”实现的:DNS-server对于一个域名配置了多个解析ip,每次DNS解析请求来访问DNS-server,会轮询返回这些ip,保证每个ip的解析概率是相同的。这些ip就是nginx的外网ip,以做到每台nginx的请求分配也是均衡的。

【反向代理层】到【站点层】的负载均衡,是通过“nginx”实现的。通过修改nginx.conf,可以实现多种负载均衡策略:

【站点层】到【服务层】的负载均衡,是通过“服务连接池”实现的。

上游连接池会建立与下游服务多个连接,每次请求会“随机”选取连接来访问下游服务。(也即是rpc框架实现的)

在数据量很大的情况下,由于数据层(db,cache)涉及数据的水平切分,所以数据层的负载均衡更为复杂一些,它分为“数据的均衡”,与“请求的均衡”。

数据的均衡是指 :水平切分后的每个服务(db,cache),数据量是差不多的。

请求的均衡是指 :水平切分后的每个服务(db,cache),请求量是差不多的。

(1)按照range水平切分

(2)按照id哈希水平切分

[图片上传中...(-6b2508-1561902875888-0)]

常见的负载均衡系统包括 3 种:DNS 负载均衡、硬件负载均衡和软件负载均衡。

硬件负载均衡是通过单独的硬件设备来实现负载均衡功能,这类设备和路由器、交换机类似,可以理解为一个用于负载均衡的基础网络设备。比如业界非常出名的F5

缺点:

(1)价格实在非常昂贵

(2)扩展性不强

软件负载均衡通过负载均衡软件来实现负载均衡功能,常见的有 Nginx 和 LVS。

nginx和F5:

nginx和lvs比较:

lvs:

ELB:

SLB:

题目:日活跃用户 1000 万的论坛的负载均衡集群,该如何设计呢?

(1)评估流量

1000万DAU,换算成秒级(一天12小时),平均约等于232。

考虑每个用户操作次数,假定10,换算成平均QPS=2320。

考虑峰值是均值倍数,假定5,换算成峰值QPS=11600。

考虑静态资源、图片资源、服务拆分等,流量放大效应,假定10,QPS 10=116000。

(2)容量规划

考虑高可用、异地多活,QPS 2=232000。

考虑未来半年增长,QPS*1.5=348000。

(3)方案设计

可以用三级导流:

第一级,DNS,确定机房,以目前量级,可以不考虑。

第二级,确定集群,扩展优先,则选Haproxy/LVS,稳定优先则选F5。

第三级,Nginx+KeepAlived,确定实例。

(4)架构图

接入层技术:

缺点:

优点:

缺点:

优点:

缺点:

缺点:

nginx毕竟是软件,性能比tomcat好,但总有个上限,超出了上限,还是扛不住。lvs就不一样了,它实施在操作系统层面;f5的性能又更好了,它实施在硬件层面;它们性能比nginx好很多,例如每秒可以抗10w,这样可以利用他们来扩容。

99.9999%的公司到这一步基本就能解决接入层高可用、扩展性、负载均衡的问题。 假设还扛不住的话,就要考虑使用硬件设备f5等。如果还是扛不住,那么只有DNS来扩容了。

水平扩展,才是解决性能问题的根本方案,能够通过加机器扩充性能的方案才具备最好的扩展性。 facebook,google,baidu的PV是不是超过80亿呢,它们的域名只对应一个ip么,终点又是起点,还是得通过DNS轮询来进行扩容:

比如购买了阿里云或者aws。那么基本会使用云厂商提供的负载均衡中间件,比如aws(elb)、阿里云(slb)。这个负载均衡软件可以认为是 lvs+keepalived的高可用负载均衡服务

后端的service有可能部署在硬件条件不同的服务器上:

1)如果对标最低配的服务器“均匀”分摊负载,高配的服务器的利用率不足;

2)如果对标最高配的服务器“均匀”分摊负载,低配的服务器可能会扛不住;

(1)通过“静态权重”标识service的处理能力

优点: 简单,能够快速的实现异构服务器的负载均衡。

缺点: 权重是固定的,无法自适应动态调整,而很多时候,服务器的处理能力是很难用一个固定的数值量化。

(2)通过“动态权重”标识service的处理能力

提问:通过什么来标识一个service的处理能力呢?

回答:其实一个service能不能处理得过来,能不能响应得过来,应该由调用方说了算。调用服务,快速处理了,处理能力跟得上;调用服务,处理超时了,处理能力很有可能跟不上了。

动态权重设计:

例如:

(1)设置一个阈值,超过阈值直接丢弃

(2)借助“动态权重”来实施过载保护

案例策略:

1)service的负载均衡、故障转移、超时处理通常是RPC-client连接池层面来实施的

2)异构服务器负载均衡,最简单的方式是静态权重法,缺点是无法自适应动态调整

3)动态权重法,可以动态的根据service的处理能力来分配负载,需要有连接池层面的微小改动

4)过载保护,是在负载过高时,service为了保护自己,保证一定处理能力的一种自救方法

5)动态权重法,还可以用做service的过载保护

负载均衡进阶: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到后端的转发路径。

原文链接

阿里云ECS服务器SLB负载均衡实践

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

拥有大量用户的企业,经常会面临如下的难题:在高并发的情况下,经常会导致服务器响应速度慢,严重的情况会直接导致服务器停止服务。此时,会导致企业的业务中断,影响客户的正常访问。

负载均衡应运而生

u需求:本次实验最低需求两台云服务器ECS/u

上图创建了两台云服务器ECS实例和一个负载均衡实例,它们各自拥有各自的弹性IP地址

在浏览器两个页面分别输入两台云服务器ECS的弹性IP访问

比较两台ECS的访问结果,发现部署的网站内容相同,只是显示的后端服务器IP不同。

在阿里云登陆界面选择用RAM用户登录

使用实验提供的 子用户名称 和 子用户名密码 登陆阿里云管理控制台

img src="" alt="4.登陆.png" style="zoom:50%;" /

img src="" alt="5.登陆.png" style="zoom:50%;" /

登录后点击左侧 导航栏的 产品与服务 选择 负载均衡

img src="" alt="6.png" style="zoom: 67%;" /

a. 在控制台点击左侧 实例管理 ,在右侧页面中的红框处看到负载均衡的 公网服务地址

该公网服务地址即为负载均衡实例的弹性IP地址

b.在浏览器上输入a的公网服务地址并访问

可见后端服务器IP尾数为131(ECS-2),但当我们刷新一遍后,如下图

后端服务器IP尾数变为130(第二台ECS-1)

当我们不停的刷新,会发现后端服务器IP 实在这两台ECS的 内外地址 之间轮流转换

因为我们在第二步配置的两台ECS的权重是相同的

下一步我们试着改变两台ECS的权重不相同看看效果如何

a.进入控制台--选择负载均衡--实例管理--点击进入实例--默认服务器组,进入如下图所示

b.勾选两台服务器--点击修改权重

c.设置权重 30,90,效果如下图

d.在浏览器中,刷新多次 负载均衡服务地址 的页面,统计页面的 后端服务器IP 。

可以发现:每 4 次刷新,将有 3 次访问 权重 为 90 的 ECS实例, 1 次访问权重为 30 的 ECS实例。

用户可以根据实际情况调整负载均衡器的请求分发,一般将 配置高的服务器设置的权重调高 , 配置较低的服务器设置的权重调低 。这样可以避免在高并发时,配置较低的服务器因为压力较大服务异常的发生。

a.实例管理界面---监听---修改监听配置

b.点击修改

c.开启会话保持、可选择修改会话保持超时时间

d.依次点击下一步,不修改

e. 再次在浏览器中输入 负载均衡 的 IP地址 , 多次刷新 ,发现在会话保持的超时时间内请求 只会分发到某一台 ECS 上(究竟是哪一台 ECS 没有规定),时间超出后,重新按照权重比例分发。

a.进入实例

b.点击停止

img src="" alt="28.png" style="zoom:67%;" /

c.返回,显示如下图所示,ECS-2已关闭

d.在监听页面和实例管理页面,健康状态显示异常

e. 再次刷新浏览器中 负载均衡 的 IP地址 ,此时,请求发送到 健康检查状态 为 正常 的ECS-1上。

关于阿里云负载均衡权重和阿里云的负载均衡的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2022-10-25 15:10:44
收藏
分享
海报
58
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了