欢迎您访问 最编程 本站为您分享编程语言代码,编程技术文章!
您现在的位置是: 首页

阿里云 - 为超高流量网站提供负载平衡服务

最编程 2024-03-08 16:18:52
...


阿里云——超大流量网站的负载均衡_负载均衡

学习目标:

1.了解负载均衡的概念和工作原理

2.熟悉负载均衡和云上负载均衡的区别

3.掌握云负载均衡的基本功能和使用场景

4.熟悉云负载均衡的使用方式和操作步骤


一.负载均衡介绍

1.传统业务面临的挑战

Interet的快速发展和业务量的不断提高,基于网络的数据访问流量迅速增长。


大部分网站(尤其电子商务等网站)都需要提供不间断24小时服务。


相对于网络技术的发展,服务器处理速度和内存访问速度的增长却远远低于网络带宽和应用服务的增长。


传统的单机模式,也往往成为网络故障点


2.服务器的向上扩展和向外扩展

向上扩展(垂直扩展):向单一节点添加硬件设备或将其升级为一个大型节点。

向外扩展(水平扩展):添加更多节点并将数据及工作负载分布于这些节点当中。

阿里云——超大流量网站的负载均衡_服务器_02


3.负载均衡的概念

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

阿里云——超大流量网站的负载均衡_阿里云_03

负载均衡的优势

-低成本

可扩展性

-高可靠性


4.负载均衡的概念示意

阿里云——超大流量网站的负载均衡_负载均衡_04

增加人数,提高效率


5.负载均衡的工作原理

阿里云——超大流量网站的负载均衡_负载均衡_05

代理的角色存在


二.云负载均衡的介绍和使用场景

1.SLB负载均衡产品家族

SLB是网里云负载均衡产品的统称,是阿里云提供全托管式在线负载均衡服务,通过流量分发提升应用系统的服务能力,通过消除单点故障提升应用系统的可用性,SLB负载均衡具有即开即用,超大容量,稳定可靠,弹性伸缩,按需付费等特点。根据不同场景定位分为:主要基于4层(TCP/UDP)的传统型负我均街CLB:主要基于7层(HTTP/HTTPS)的应用型负能均街ALB。

阿里云——超大流量网站的负载均衡_云计算_06


 2.阿里云负载均衡SLB的使用场景

什么时候需要使用SLB?

阿里云——超大流量网站的负载均衡_服务器_07

  1. 简单说就是单台云服务器不能满足需求的时候
  2. 使用多台云服务器进行流量分发,提升服务能力
  3. 使用多台云服务器消除单点,提升可用性

3.传统型负载均衡CLB(原SLB)

传统型负我均衡CLB:定位于以传统架构的4展负载均衡为主,主要提供TCP/UDP等4展数据转发,将访问流量根据转发策略分发到后端多台云服务器(ECS实例),扩展了应用的服务能力,增强了应用的可用性,全面支持IPv6场景(云上传统限构升假IPV6,云上新建PV6业务,云下IPV6漏合云等场景),具有即开即用,超大容量,稳定可喜,按需付卷等特点。

阿里云——超大流量网站的负载均衡_云计算_08

实例(lnstances):一个负载均衡实例是一个运行的负载均衡服务,用来接收流量并将其分配给后端服务器。

监听(Listeners):监听用来检查客户请求并将请求转发给后端服务器,监听也会对后端服务器进行健康检查。

后端服分器(Backkend Servers):是一组接收的请求的ECS实例,可以单独添加ECS实例的到后端服务器池,也可以通过虚拟股务器组或主备假务器组来批量添加和管理。

阿里云——超大流量网站的负载均衡_服务器_09


 4.应用型负载均衡ALB

ALB定位于全新NFV架构下的7层负载均衡,专门面向HTTP、HTTPS和QUIC等应用层负载场景,具备超强弹性及大规模七层流量处理能力,支持IPV6网络场景。ALB具备处理复杂业务路由的能力,与云原生相关服务深度集成,是阿里云官方提供的云原生Ingress网关,

阿里云——超大流量网站的负载均衡_阿里云_10

 应用型负载均衡ALB:具有即开用,超大性能,稳定可靠,弹性伸缩,按付费等特点,更加适合7临应用交付场景。

应用型负载均衡ALB 面向7层,支持HTTP/HTTPS/HTTP2/WSS/QUIC/GRPC等众多协议,单实例可支神高达100万QPS,业界性能遥遥领先。


5.产品类型对比

阿里云——超大流量网站的负载均衡_负载均衡_11

 6.云负载均衡和传统负载均衡的对比

阿里云——超大流量网站的负载均衡_负载均衡_12


云负载均衡的基本功能

1.阿里云负载均衡CLB的基本功能

支持公网或私网类型的负载均衡服务

流量分发:当前提供4层(TCP/UDP协议)和7层(HTTP/HTTPS协议)的负载均衡服务

流量调度:支持加权轮询(WRR),加权最小连接数(WLC)转发方式。

会话保持:在Session的生命周期内,可以持同一客户端请求转发到同一台后端ECS上

健康检查:可以对后端ECS进行健康检查,自动屏蔽异常状态的ECS,待该ECS恢复正常后自动解除屏蔽


2.转发方式的工作原理

轮询模式:会将外部和内部的访问请求依序分给后端ECS进行处理

阿里云——超大流量网站的负载均衡_阿里云_13

 会话保持及权重设置的工作原理

阿里云——超大流量网站的负载均衡_云计算_14

会话保持:

四层TCP:同一IP地址的请求持续发往一台服务器

七层HTTP:相同cookie同的请求发网一台服务器

阿里云——超大流量网站的负载均衡_阿里云_15

权重设置:

访问请求按权重大小依次分发。


四.云负载均衡的高可用

1.阿里云负载均衡CLB的基础架构

阿里云——超大流量网站的负载均衡_原力计划_16

四层采用开源软件LVS(Linux Virtual Server)+keepalived的方式实现负载均衡,并根据云计算需求对其进行了个性化定制。

七层采用Tengine实现负载均衡。Tengine是由淘宝网发起的Web服务器项目,它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。


2.多可用区部署

-负载均衡SLB支持多可用区部署,以实现同地域下的跨机房容灾。


3.载均衡SLB高可用配置最佳实践

建议在负载均衡使用和配置过程中采用如下措施以提高负载均衡业务可用性:

  1. 将负载均衡后端服务器部署在同一地域的不同可用区内,然后结合负载均衡多可用区特性实现本地容灾。
  2. 跨可用区访问会增加访问延迟,需要根据业务敏感性进行评估。
  3. 开启负载均衡后端ECS的健康检查,以便实现负载均衡对异常ECS自动进行隔离或恢复。
  4. 负载均衡后端最少配置两台及以上ECS,这样才能在其中某一台出现异常的时候,将前端访问调度到其它正常ECS,否则单台ECS故障,会导致负载均衡业务整体不可用。
  5. 在业务层面配置自动重联机制,从而在访问请求落到异常的负载均衡后端ECS时,客户端能够自动重联,以便负载均衡将新的请求调度到正常ECS,进而提高业务可用性。

五.为网站创建和配置负载均衡

1.负载均衡SLB的使用

阿里云——超大流量网站的负载均衡_服务器_17

 (1)规划和准备数据

在搭建负载均衡服务之前,您需要做好以下准备:

阿里云网站的账号

一如未注册,需要提前注册一个账号


负载均衡服务的地域

-为了减少延迟时间并提高下载速度,建议选择离您客户最近地域的负载均衡服务。

-由于负载均衡不支持跨地域部署,因此应选择与后端ECS实例相同的地域。


负载均衡服务的类型(公网或私网)

——如果您的负载均衡服务需要公网访问,选择公网实例。

——如果您的负载均衡服务仅需要对内网进行访问,选择私网实例。


计费方式(按使用流量计费或按固定带宽计费)

——按流量计费:适用于波峰波谷效应明显的业务。

——按带宽计费:适用于带宽较为平稳的业务。


(2)创建和配置云服务器ECS

在使用负载均衡服务前,需要创建至少两台ECS实例并部署相关服务,作为后端服务器用来接收负载均衡服务转发的客户端请求。

阿里云——超大流量网站的负载均衡_原力计划_18

(3)创建和配置负载均衡SLB

在使用负载均衡服务前,必须通过购买负载均衡服务来创建一个负载均衡实例。并配置负载均衡实例的监听和后端ECS服务器。

阿里云——超大流量网站的负载均衡_服务器_19

 (4)解析域名

为了正确使用公网负载均衡服务,针对需要通过域名对外提供服务的应用,需要到域名注册服务商网站上将其域名解析到相应的负载均衡实例服务地址上生效后方可通过域名访问。在阿里云上可以通过云解析DNS服务实现。

注意:必须将您的域名解析到负载均衡实例的公网服务地址上。

比如一台ECS云服务器,域名为taobao.com,域名解析到的公网IP地址为1.1.1.1,负载均衡实例的公网IP地址为2.2.2.2.那么一定要将城名taobao.com解析到公网IP地址2.2.2.2,用户才可通过城名进行访问。一般情况下,使用A记录解析(即将域名解析到一个IP地址)即可。