【云中沙箱】如何使用SLB实现持续性高并发访问?

本文涉及的产品
云服务器 ECS,每月免费额度280元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 如何使用SLB实现持续性高并发访问? 云中沙箱实验教您如何提高云服务器的响应速度。

如何使用SLB实现持续性高并发访问?  云中沙箱实验教您如何提高云服务器的响应速度。 

 

云中沙箱,阿里云官方实验平台。网址:http://lab.aliyunedu.net  

 

一、基本概念 

 

阿里云负载均衡 

  • 简介 

负载均衡(Server Load Balancer)是将访问流量根据转发策略分发到后端多台 ECS 的流量分发控制服务。负载均衡可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 

  • 架构

负载均衡服务主要有三个核心概念: 

1)LoadBalancer:负载均衡实例。 

2)Listener:用户定制,定义了负载均衡策略和转发规则。 

3)BackendServer:后端的一组ECS。 

 

 649bb90deca6a193b5e75e96c4a25db688fb6357

 

  • 特点

1)负载均衡服务通过设置虚拟服务地址(IP),将位于同一地域(Region)的多台云服务器(Elastic Compute Service,简称ECS)资源虚拟成一个高性能、高可用的应用服务池;根据应用指定的方式,将来自客户端的网络请求分发到云服务器池中。 

2)负载均衡服务会检查云服务器池中ECS的健康状态,自动隔离异常状态的ECS,从而解决了单台ECS的单点问题,同时提高了应用的整体服务能力。在标准的负载均衡功能之外,负载均衡服务还具备TCP与HTTP抗DDoS攻击的特性,增强了应用服务器的防护能力。 

3)负载均衡服务是ECS面向多机方案的一个配套服务,需要同ECS结合使用。 

 

阿里云负载均衡健康检查 

  • 简介

    负载均衡通过健康检查来判断后端 ECS 上的业务可用性。用户开启健康检查功能后,当后端某台 ECS 健康检查出现异常时,负载均衡会自动将新的请求分发到其它健康检查正常的 ECS 上;而当该 ECS 恢复正常运行时,负载均衡会将其自动恢复到对外或对内的服务中。    负载均衡健康检查机制提高了前端业务整体可用性,避免了后端 ECS 异常对总体服务的影响。    如果用户业务对负载有高敏感性,高频率的健康检查探测可能会对用户正常业务访问造成影响。用户可以结合业务情况,通过降低健康检查频率、增大健康检查间隔、7层检查修改为4层检查等方式,来降低对业务的影响。但为了保障业务的持续可用,不建议关闭健康检查。 

  • 处理原理

负载均衡通过健康检查来探测后端 ECS 的可用性。开启健康检查功能后,当后端某个 ECS 健康检查出现异常时,来自 Client 的新请求将不会再被转发到该 ECS,直到健康检查检测到该 ECS 上业务恢复正常。 

 

0202509d7dd796afbb32a2b2f5c4c6bff4852ff8

 

LVS 集群或 Tengine 集群内的相关节点服务器同时承载了数据转发及健康检查职责。 

当前集群服务器 IP 段为负载均衡系统IP地址段包括:10.159.0.0/16,10.158.0.0/16,10.49.0.0/16、100.109.0.0/16和100.97.0.0/16。如果后端 ECS 启用了 iptables 等访问控制,需要在内网网卡上针对上述 IP 段做访问放行。 

根据负载均衡转发策略,客户端相关访问请求被均分到 LVS 集群内不同服务器(如果是 7 层服务,则如前述说明所述,相关请求被进一步转发到 Tengine 集群)。 

LVS 集群内不同服务器分别【独立、并行的】根据负载均衡策略进行数据转发和健康检查操作。 

如果某一台 LVS 节点服务器对后端某一台 ECS 健康检查失败,则该 LVS 节点服务器将不会再将新的客户端请求分发给相应的异常 ECS 服务器;LVS 集群内所有服务器同步进行该操作,相互之间没有关联及影响。 

  • 7层服务健康检查机制(HTTP或HTTPS协议)

对7层(HTTP或HTTPS协议)服务,负载均衡的健康检查通过 HTTP HEAD 探测来获取状态信息。相关机制如下图所示:注:使用 HTTPS 协议时,证书在负载均衡上完成处理后完结。负载均衡与后端ECS之间的数据交互(包括健康检查数据和业务交互数据),不再通过 HTTPS 进行传输,以提高系统性能。 

 

29ce91c14799791978fbc9f0c620610b00f610d1

使用说明如下: 

1)Tengine 节点服务器根据负载均衡实例健康检查属性设置,向后端 ECS 的内网 IP+【健康检查端口】+【检查路径】发送 HTTP HEAD 请求(包含【域名】属性)。 

2)后端 ECS 服务器收到请求后,根据相应服务的运行情况,返回 HTTP 状态码。 

3)如果在【响应超时时间】之内,Tengine 节点服务器没有收到后端 ECS 返回的上述信息,则认为服务无响应,判定健康检查失败。 

4)如果在【响应超时时间】之内,Tengine 节点服务器成功接收到后端 ECS 返回的上述信息,则将该返回信息与【正常状态码】属性所勾选的状态码进行比对。如果匹配则判定健康检查成功,反之则判定健康检查失败。 

5)健康检查间隔和重试次数根据相应负载均衡实例属性设置进行相应设定。 

  • 策略配置 

用户可以通过控制台或 API 设置负载均衡服务监听的健康检查策略。当前健康检查可选方式包括 TCP、UDP 和 HTTP(注:HTTPS协议采用 HTTP 方式进行健康检查),不同检查方式下支持的策略属性有所不同。通过管理控制台配置如下图: 

 51a299bc9c37b03bbc61019ba8581f0ca2c295d0

 

1)域名:只有 HTTP 检查方式时才有。非必填属性。配置后,负载均衡会将相应值以 domain 属性传递到后端服务器,以便后端服务器结合该值来配置域名访问控制。没有填写时,默认使用各后端服务器的内网 IP 为域名进行传递。 

2)检查端口:非必填属性。健康检查服务访问后端时的探测端口。默认值为服务监听配置时的【后端协议 [端口]】。 

3)检查路径:只有 HTTP 检查方式时才有。非必填属性。用于手工指定健康检查页面文件的 URI,建议对静态页面进行检查。默认值为根目录“/”。 

4)响应超时时间: 必填属性。健康检查响应的最大超时时间,输入范围 1-300 秒,默认为 5 秒。后端 ECS 在相应时间内没有正确响应,则判定为健康检查失败。 

5)健康检查间隔:必填属性。进行健康检查的时间间隔; 输入范围 1-50 秒,默认为 2 秒。、注:如前文所述,LVS 集群内所有节点,都会独立、并行的遵循该属性去对后端 ECS 进行定期健康检查。由于各 LVS 节点的检查时间并不同步,所以,如果从后端某一 ECS 上进行单独统计,会发现来自负载均衡的健康检查请求在时间上并不会遵循上述时间间隔。 

6)不健康阈值:必填属性。表示同一 LVS 节点服务器针对后端同一 ECS 服务器,从成功到失败的【连续】健康检查失败次数。可选值 2~10,默认为 3 次。 

7)健康阈值:必填属性。表示同一 LVS 节点服务器针对后端同一 ECS 服务器,从失败到成功的【连续】健康检查成功次数。可选值 2~10,默认为 3 次。 

8)正常状态码: 只有 HTTP 检查方式时才有。非必填属性。指定用户判断健康检查正常的 HTTP 状态码。可选值为 http_2xx、http_3xx、http_4xx、http_5xx,可多选。默认情况或不做任何选择时,值置为 http_2xx。 

 

 

二、更多实验信息 

 

如何使用SLB实现持续性高并发访问?   

网址:https://edu.cloudcare.cn/courses/11bc5c2e31a3429082a2b012fe08034d/detail

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
8月前
|
SpringCloudAlibaba 负载均衡 算法
SpringCloudAliBaba篇之Ribbon负载均衡器:让你的应用从容应对高并发
SpringCloudAliBaba篇之Ribbon负载均衡器:让你的应用从容应对高并发
208 0
|
7月前
|
负载均衡 网络协议 Dubbo
高并发系统设计之负载均衡
通过负载均衡,我们能提高系统的可用性,提升响应速度,同时也能防止任何单一的资源过度使用。
151 0
|
7月前
|
负载均衡 网络协议 安全
华为19级大佬10年心血终成百页负载均衡高并发网关设计实战文档
负载均衡(LoadBalance)的字面意思是将工作负载分担到多个工作单元上进行执行,它建立在现有网络结构之上,是构建分布式服务、大型网络应用的关键组件。 近十几年来,负载均衡技术层出不穷,令人眼花缭乱。如果问身边的技术人员什么是负载均衡,我们可能会得到许多不同的答案。
|
域名解析 缓存 负载均衡
面试:第九章:分布式 、高并发、集群、负载均衡、高可用(下)
面试:第九章:分布式 、高并发、集群、负载均衡、高可用
165 0
|
缓存 分布式计算 负载均衡
面试:第九章:分布式 、高并发、集群、负载均衡、高可用(上)
面试:第九章:分布式 、高并发、集群、负载均衡、高可用
340 0
面试:第九章:分布式 、高并发、集群、负载均衡、高可用(上)
|
负载均衡 应用服务中间件 数据处理
Nginx搭建负载均衡实现高并发
有的时候我们部署的项目并发人数一旦增加,单体项目很容易挂掉,不是我们的服务器配置不够,因为每一个 tomcat 的能力是有限的,导致了拖慢访问速度,这个时候我们就可以使用负载均衡
180 0
|
弹性计算 负载均衡 算法
nginx处理web应用负载均衡问题以保证高并发(四)
在关于高并发负载均衡一文中已经提到,企业在解决高并发问题时,一般有两个方向的处理策略,软件、硬件,硬件上添加负载均衡器分发大量请求,软件上可在高并发瓶颈处:数据库+web服务器两处添加解决方案,其中web服务器前面一层最常用的的添加负载方案就是使用nginx实现负载均衡。
1199 0
|
10天前
|
负载均衡 算法 应用服务中间件
面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
字节跳动面试题:Nginx有哪些负载均衡算法?Nginx位于七层网络结构中的哪一层?
28 0