企业运维训练营之云上网络原理与实践课程 - 第四讲 负载均衡ALB(上)

简介: 课程目标了解应用型负载均衡ALB的产品功能了解应用型负载均衡ALB底层架构与相关技术掌握应用型负载均衡ALB的产品优势熟悉应用型负载均衡ALB的使用场景

企业运维训练营之云上网络原理与实践课程

第四讲 负载均衡ALB(上)

 

视频地址:

https://developer.aliyun.com/learning/course/991/detail/14982

 

课程目标

  • 了解应用型负载均衡ALB的产品功能
  • 了解应用型负载均衡ALB底层架构与相关技术
  • 掌握应用型负载均衡ALB的产品优势
  • 熟悉应用型负载均衡ALB的使用场景

 

课程目录

  • 概述
  • 相关概念与产品功能
  • 技术架构
  • 产品优势
  • 场景与案例
  • 实验

 

 

一、概述

 

1.  用户核心痛点与诉求

 image.png

 

随着网络的发展,从2000年初的web应用、音视频应用,发展今天的短视频、直播等应用。

  • 从业务和用户角度而言,这些应用的特点在于流量大,交互快,同时在线人数多,用户要求延时性能更高,响应更快;
  • 从技术角度而言,之前是将所有业务都打包到一个APP中,现在则是可分布式,提供高可用,容量更大,从单体扩展到微服务或者云上的架构。为了安全和容灾,甚至会部署到多云或者混合云上,有故障时,可以快速切换。对架构和网络的要求都更加的高。

 image.png

 

a.  超高可用:Always Online对业务高可用提出更高要求

  • 健康检查
  • 可用区容灾
  • 地域级容灾

 

b.  超强弹性:5G/IOT时代的来临互联网将迎来更大的流量洪峰

  • 更大的并发连接
  • 更大的带宽
  • 系统有着更好的弹性

 

c.  安全可靠:复杂的网络环境对安全和运维便利性提出更高要求

  • 抵御DDoS攻击
  • WAF应用层防御
  • HTTPS安全加密

 

d.  面向应用:业务复杂度的攀升需要应用更快速的交付

  • 面向应用的负载均衡
  • 高级路由、流量镜像等功能支持
  • 面向云原生的快速交付模式

 

二、相关概念与产品功能

 

1.  负载均衡SLB产品家族

 

a.  什么是SLB

 

负载均衡SLB ( Server Load Balancer )是阿里云负载均衡产品的统称,一种对流量进行按需分发的服务,通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,并且可以消除系统中的单点故障, 提升应用系统的可用性。

 

b.  SLB的特点

 

SLB负载均衡具有即开即用,超大容量,稳定可靠,弹性伸缩,按需付费等特点。

 

c.  SLB的分类

 

根据不同应用场景分为:主要基于7(HTTP/HTTPS)的应用型负载均衡ALB、主要基于4(TCP/UDP)的传统型负载均衡CLB

 image.png

 

2.  什么是应用型负载均衡ALB

 

应用型负载均衡ALB (Application Load Balancer) 是阿里云推出的专门面向HTTPHTTPSQUIC等应用层负载场景的负载均衡服务,具备超强弹性及大规模七层流量处理能力。ALB具备处理复杂业务路由的能力,与云原生相关服务深度集成,是阿里云官方提供的云原生Ingress网关。

 image.png

 

  • 即开即用,超大性能,稳定可靠,弹性伸缩,按需付费等特点,更加适合7层应用交付场景。
  • 面向7层,支持HTTP/HTTPS/HTTP2/WSS/QUIC/GRPC等众多协议,单实例可支持高达100QPS,业界性能遥遥领先。

 

3.  ALB VS CLB

 

应用型负载均衡ALB和传统型负载均衡CLB相比,应用型负载均衡ALB在产品定位、性能、功能特性、运维方式、云原生支持和典型应用场景方面是优于传统型负载均衡CLB的,具体内容如下图所示:

 image.png

 

a.  应用型负载均衡(ALB

 

  • 产品定位
  • 强大的7层处理能力与丰富的高级路由功能
  • 聚焦HTTPHTTPSQUIC应用层协议
  • 面向应用交付

 

  • 性能
  • 基于NFV虚拟化平台,支持弹性伸缩
  • 单实例支持100QPS

 

  • 功能特性
  • 丰富7层特性,基于内容的路由
  • HTTP标头改写、重定向、重写、限速等

 

  • 运维方式
  • 处理能力随业务规模自动弹性伸缩
  • 无需进行峰值与规格预估

 

  • 云原生支持
  • 云原生Ingress网关
  • 支持流量拆分、镜像、灰度发布和蓝绿测试

 

  • 典型应用场景
  • 场景1:互联网应用7层高性能自动弹性场景
  • 场景2:音视频应用大流量低时延场景
  • 场景3:云原生应用金丝雀蓝绿发布场景

 

b.  传统型负载均衡(ALB

 

  • 产品定位
  • 强大的4层处理能力
  • 支持TCP/UTP/HTTP/HTTPS等协议
  • 主要面向网络交付

 

  • 性能
  • 基于物理机架构
  • 单实例最大连接数可达500

 

  • 功能特性
  • 7层基础能力
  • 仅支持域名/URL转发

 

  • 运维方式
  • 按规格售卖
  • 需要根据业务规模预估带宽峰值

 

  • 云原生支持
  • 支持较弱

 

  • 典型应用场景
  • 场景1:网站/系统同地域业务高可靠场景
  • 场景2:四层流量大并发业务场景
  • 场景3:同城双活/跨地域容灾场景

 

4.  ALB与自建应用负载均衡对比

 image.png

 

a.  自建应用负载均衡

 

  • 协议:主要支持基础协议,如HTTPHTTPS,受限于版本关系;
  • 性能:性能受限于自建NgnixECS能力,或者第三方镜像,性能不足;
  • 安全:没有默认的主动安全保障;需要自己部署和维护安全方案;
  • 弹性:无弹性能力;扩容,缩容涉及资源评估及购买,操作繁琐;
  • 可靠性:单点部署,最多时双机部署,可靠性依赖ECS部署关系;通过四七层分离,多-一个故障点;
  • 运维:需要经常性升级软件;故障处理繁琐复杂;

 

b.  应用型负载均衡ALB

 

  • 协议:支持丰富协议,如HTTPHTTPSHTTP2WSS. QUICGRPC等,迭代更快;
  • 性能:基于弹性架构的高性能;单实例支持100QPS
  • 安全:默认5GDDoS防护能力;支持一键集成WAF能力,应用层更安全;
  • 弹性:随业务而动的自动弹性,无需干预;
  • 可靠性:基于集群的可靠性能力,单实例本质是在集群承载,完全避免了可靠性问题,客户也无需关注可可靠性部署,集群故障自动恢复,无需人工介入;一个实例一个节点更简单;
  • 运维:完全无此操作,无需主动升级,新功能自动在控制台呈现;
  • 业务类型:音视频延迟敏感型业务;7层高并发弹性业务;替代自建3三方负载均衡。

 

应用型负载均衡ALB为新型业务量身定制,面向容器和运维自动化的新一代负载均衡。

 

5.  ALB应用型负载均衡关键特性

 image.png

 

  • 多级调度实现超高弹性
  • ALB同时向客户交付域名与VIP

DNS域名调度确保流量在可用区间均衡分配;

VIP调度确保流量在后端服务器间均衡分发,并且支持一致性哈希与会话保持;

  • 多级调度确保流量均衡,单实例支持高达100QPS
  • 丰富且强大的基于内容路由
  • 支持多种内容匹配策略,并支持重定向、重写、标头改写等转发策略;
  • 业界最先进的协议支持
  • 从应用层到传输层,ALB支持最先进的协议,让应用更快更安全。

 

三、技术架构

 

1.  概览

 image.png

ALB整体大图

image.png

注:红色虚线内所有组件构成一个ALB实例

 

  • ALB面向应用层,提供域名与VIP,多级分发承载海量请求;
  • ALB可在可用区间弹性缩放,避免单可用区资源瓶颈;
  • ALB通过EIP+共享带宽提供公网能力,实现灵活公网计费;
  • ALB允许用户自定义可用区组合,适应原有计算资源的分布;

 image.png

ALB工作示意图

 

2.  监听

image.png

 

  • 监听是ALB最小业务单元,监听上需要配置协议与端口以告知ALB需要处理什么流量,如HTTP协议80端口/HTTPS协议443端口;
  • 每个负载均衡至少有一个监听,才能开始流量处理与分发;
  • 每个ALB可以配置多达50个监听,用于处理不同的业务流量;

 

3.   服务器

 image.png

ECS:虚拟服务器;ECI:弹性容器实例,K8s中使用较多;ENI:弹性网卡

 

  • 服务器组是一个逻辑组,包含多个后端用于处理ALB分发的业务请求;
  • ALB中服务器组独立于ALB存在,可以将同一服务器组挂载于不同ALB后端;
  • 服务器组最大可以包含1000个后端;
  • ALB服务器组支持云ECSECI ENI等多种类型后端;

 

4.  健康检查

 image.png

 

  • 健康检查是ALB至关重要的工作机制,可以探测业务是否健康,分为“TCP健康检查”和“HTTP健康检查”;
  • ALB探测服务器组中不健康的后端,并避免将流量分发给不健康的后端;
  • ALB支持丰富灵活的健康检查配置,如协议、端口、以及各种健康检查阈值;
  • ALB提供健康检查模板,可将健康检查模板快速的应用到不同的服务器组;

 

5.  转发规则

 image.png

image.png

 

  • ALB具备强大丰富的基于内容路由的能力;
  • ALB路由转发规则可基于域名(host) 、路径(url) 、查询字符串、HTTP标头、CookieHttp Method等条件进行匹配;
  • 可支持转发(Forward) 、重定向(Redirect)、 重写 (Rewrite)、 返回固定响应、插入HTTP标头等动作;
  • 每个监听可以支持多达100条转发规则;

 

6.  丰富的自定义规则属性

 image.png

 

匹配规则及示例:

 

  • 域名:www.aliyun.com
  • 路径:/test123
  • http标头(header:: user-agent : Mozilla/4.0
  • 查询字符串:username: 123
  • http请求方法:post
  • Cookiekey: value
  • Sources IP172.16.0.0/16

 

指定请求:

 

  • 转发:网站A
  • 镜像:数据分析平台
  • 重定向:网站A跳转网站B(客户端重发请求)
  • 重写:网站A跳转网站B(客户端不重发请求)
  • 写入标头:http header中新增XX属性
  • QPS限速:限制每秒最大请求数
  • 自定义响应:自定义响应状态码和内容

 

示例:curl -v www.baidu.com

image.png

 

7.  支持全链路https加密

 

ALB支持全链路https加密,可以实现与客户端/后端服务器的https交互,面向加密敏感型业务,满足Zero-Trust新一代安全技术架构需求。

 image.png

 

 

8.  率先支持更高效安全的TLS1.3加密协议

 image.png

传输层安全性协议TLS: Transport Layer Security

 

TLS1.3特性:

  • 简化握手交互流程,降低RTT
  • 单次https交互节省约100ms
  • 握手协议加密,安全性更高;

 

9.  支持多证书灵活配置

 image.png

 

ALBHTTPS/SSL类型监听器中增加对SNI协议的支持,从而保证一个HTTPS监听可配置多个域名证书,在收到来自不同客户端的域名请求时,返回不同的服务器证书,建立正确的HTTPS会话链接,避免出现https访问浏览器频繁提示告警的情况。

 

10. 控制台丰富易用性功能

 

  • 控制台自助配额管理:自助申请,自动审批,符合要求,审核通过,达到上限,不予通过;

 image.png

控制台自助配额管理

 

  • 实例修改/删除保护:防止意外的删除或者意外的修改;

 image.png

实例修改/删除保护

 

  • 自定义tls安全策略:不仅支持TLS1.1版本,还支持套件,可进行勾选;

image.png

自定义tls安全策略

 

  • 黑白名单自定义:可将恶意请求加入黑名单,对公业务的话,可将对应的IP提供给特定企业用户,达到保护业务的效果;

 image.png

黑白名单自定义

 

11. ALB丰富产品功能汇总

 image.png

  • 协议支持:HTTPHTTPSHTTP2WebSocket(S)QUICgRPC
  • 七层路由:基于host/path、基于header/cookie、基于http method、重定向/重写、插入Header、金丝雀发布;
  • 安全特性:全链路HTTPSTLS1.3ECC证书支持、自定TLS策略、DDoS防护、WAF防护;
  • 运维监控:并发连接、新建链接、QPS、监控告警、访问日志、秒级监控;
  • 计费能力:后付费、预付费、按流量计费、按带宽计费、按95带宽计费;

 

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
相关文章
|
9月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
10月前
|
存储 运维 安全
运维知识沉淀工具深度解析:从结构设计到落地实践全拆解
运维知识沉淀工具助力团队将零散经验结构化存储,实现问题处理路径标准化、知识复用化。通过标签、模板与自动化调取机制,让每次处理都留下可复用资产,提升团队协同效率与系统稳定性。
|
9月前
|
JavaScript Java 大数据
基于python的网络课程在线学习交流系统
本研究聚焦网络课程在线学习交流系统,从社会、技术、教育三方面探讨其发展背景与意义。系统借助Java、Spring Boot、MySQL、Vue等技术实现,融合云计算、大数据与人工智能,推动教育公平与教学模式创新,具有重要理论价值与实践意义。
|
9月前
|
机器学习/深度学习 人工智能 运维
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
这篇文章系统性地阐述了 AI 原生时代下,面向技术风险领域的智能体系统(DeRisk)的架构设计、核心理念、关键技术演进路径与实践落地案例。
三重Reward驱动的运维智能体进化:多智能体、上下文工程与强化学习的融合实践
|
负载均衡 前端开发 应用服务中间件
Tomcat的负载均衡和动静分离(与nginx联动)
总的来说,负载均衡和动静分离是提高Web应用性能的两个重要手段。通过合理的配置和使用,我们可以让Web应用更好地服务于用户。
403 21
|
缓存 负载均衡 算法
解读 Nginx:构建高效反向代理和负载均衡的秘密
解读 Nginx:构建高效反向代理和负载均衡的秘密
421 2
|
负载均衡 前端开发 应用服务中间件
负载均衡指南:Nginx与HAProxy的配置与优化
负载均衡指南:Nginx与HAProxy的配置与优化
985 3
|
负载均衡 应用服务中间件 nginx
解决nginx配置负载均衡时invalid host in upstream报错
在Windows环境下,配置Nginx 1.11.5进行负载均衡时遇到问题,服务无法启动。错误日志显示“invalid host in upstream”。检查发现上游服务器列表中,192.168.29.128的主机地址无效。负载均衡配置中,两个服务器地址前误加了"http://"。修正方法是删除上游服务器列表和proxy_pass中的"http://"。问题解决后,Nginx服务应能正常启动。
1246 4
解决nginx配置负载均衡时invalid host in upstream报错
|
负载均衡 算法 应用服务中间件
nginx自定义负载均衡及根据cpu运行自定义负载均衡
nginx自定义负载均衡及根据cpu运行自定义负载均衡
481 1
|
运维 负载均衡 算法
SLB与NGINX的异同是什么
SLB与NGINX的异同是什么
2509 2