企业运维训练营之云上网络原理与实践课程 - 第二讲 负载均衡CLB(上)- 产品和架构

本文涉及的产品
应用型负载均衡 ALB,每月750个小时 15LCU
传统型负载均衡 CLB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 课程目标了解负载均衡CLB的产品功能了解负载均衡CLB的底层架构与相关技术掌握负载均衡CLB的最佳实践熟知负载均衡CLB的常见问题与解决思路

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

第二讲  负载均衡CLB(上)- 产品和架构

 

视频地址:

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


课程目标

  • 了解负载均衡CLB的产品功能
  • 了解负载均衡CLB的底层架构与相关技术
  • 掌握负载均衡CLB的最佳实践
  • 熟知负载均衡CLB的常见问题与解决思路

 

课程目录

  • 概述
  • 相关概念与产品功能
  • 产品技术架构
  • 最佳实践
  • 常见问题与解决思路

 

正文:

 

一、概述

 

CLBClassic Load Balancer)通过设置虚拟服务地址,将添加的同一地域的多台ECS实例虚拟成一个高性能和高可用的后端服务池,并根据转发规则,将来自客户端的请求分发给后端服务器池中的ECS实例。

 

CLB默认检查云服务器池中的ECS实例的健康状态,自动隔离异常状态的ECS实例,消除了单台ECS实例的单点故障,提高了应用的整体服务能力。此外,CLB还具备抗DDoS攻击的能力,增强了应用服务的防护能力。

 

1.  为什么需要负载均衡

image.png

CLB架构图

  • 应对高流量的业务访问

大批量用户可以正常同时访问一个接入点,是因为负载均衡器做了一定量的分发;

 

  • 消除单点故障

一台服务器出现故障,其他服务器仍然对外可以提供正常服务,用户使用不受影响;

 

  • 对外提供统一的入口

多个IP地址对外只暴露一个,对外的入口是统一的,运维管理起来比较容易;

 

  • 开箱即用

云产品的特点,即买即用,快速高效;

 

2.  负载均衡行业趋势与挑战

image.png

  • 负载均衡云化趋势明显加速

负载均衡越来越多以云方式部署,云提供商逐渐成为主要玩家,传统硬件厂家加速向云转型,提供基于云化的解决方案;

 

  • 5G/IoT等技术带来机遇与挑战

5G/IoT将加速催生更大流量洪峰,底层通信协议的升级将网络瓶颈转移至应用层面,万物互联使得IPv4加速退出历史舞台,IPv6时代到来;

 

  • 网络环境日益复杂安全性需求凸显

愈加复杂的网络环境、越来越深入的面向应用系统交付,对安全提出了更高要求;

 

  • 云原生:从流量入口到面向应用交付
  • 面向云原生基于7层高级特性加速企业应用快速交付能力,负载均衡从面向网络层演进到面向应用层;
  • 云原生4要素:微服务、容器化、DevOps、持续交付。

 

二、相关概念与产品功能

 

1.  负载均衡产品大图

 image.png

负载均衡产品

 

a.  实例:

 

  • 监听:负载均衡以监听为实例提供服务,如TCP监听、UDP监听、http(s)监听等,然后将请求流量分发至后端服务器;
  • 服务器组:负载均衡是转发模块,并不承载TCP业务,实际的业务通过服务器组和负载均衡产生关联,将服务器组绑定到监听上,如默认服务器组、虚拟服务器组、主备服务器组等,其中虚拟服务器支持转发策略;

 

b.  访问控制ACL

 

可以针对不同的监听,设置访问白名单或黑名单,如某些金融客户只允许特定的IP地址访问;

 

c.  证书管理

 

https证书会对流量进行相应保护,在https监听下,负载均衡会对证书进行托管、加解密转发控制;

 

d.  日志

 

  • 访问日志:相当于NGINXaccess.log,可以通过分析负载均衡的访问日志了解客户端用户行为、客户端用户的地域分布,排查问题等;
  • 健康检查日志:后续将有详细介绍。

 

2.  负载均衡SLB的核心能力:面向超大规模业务的流量入口

 

  • IPv6/IPv4公网入口

 image.png

 

IPv6采用6To4方案,前端对外暴露IPv6地址对外提供V6服务,后端采用V4连接到ECS,轻松实现业务向从V4V6的平滑迁移。

 

  • 最大500万并发连接,应对大流量、大并发场景

image.png

 

丰富的实例规格,支持各种规模的业务场景,弹性计费,应对业务峰值的同时优化成本。

 

三、产品技术架构

 

1.  产品架构

 

阿里云负载均衡CLB产品总体技术架构如下:

 image.png

 

  • AZ容灾高可用架构

双可用区部署,主备容灾实现高可用,业务Always Online

 

  • 海量4层业务处理能力

LVS高性能集群处理4层业务流量应对海量业务洪峰;

 

  • 基于内容的7层业务路由

Tengine集群处理7层业务流量,基于内容的业务路由;

 

  • 高性能HTTPS加解密

硬解密卡实现高效HTTPS流量终结,节省后端服务器算力;

 

2.  全链路流量走向

image.png

 

  • 所有流量都需要经过LVS集群进行转发;
  • LVS集群内的每一台节点服务器均匀地分配海量访问请求;
  • 7层监听会额外经过Tengine集群,HTTPS协议首次请求还会经过Key Server集群;
  • CLB与后端ECSENI通信走内网;

 

3.  健康检查

 image.png

 

健康检查是对CLB集群对后端进行一个探测,多台ECS同时提供一个服务,通过健康检查可以追踪的故障服务,避免了后端ECS异常对总体服务的影响。

 

  • 健康检查可以感知到后端ECS的可用性
  • 探测源均是承载业务的转发集群
  • 探测源IP段为100.64.0.0/10

 

a.  TCP监听

 image.png

 

CLB向后端发起一个TCP三次握手的信报,后端响应完成,以RST方式断开连接。

 

  • 请求方式:TCP三次握手或HTTP GET
  • 判定成功逻辑:超时时间内收到了SYN_ACK
  • 判定失败逻辑:超时时间内未收到SYN_ACK
  • 关闭连接方式:发送RST数据包;

 

问题一:为什么选择RST方式而不是传统的四次挥手断开连接?

因为健康检查是用CLB额外引入的逻辑,对后端ECS具有一定的负担,为了尽可能地减少健康检查的开销,采用了RST方式,只需要单向的一个包就可以立即断开,两端的内核都不再去维护TCP五元组连接的管理。

 

问题二:使用RST可能带来哪些问题?

RSTTCP/IP定义里属于非正常状态,在某些程序比如java程序会频繁提示“connection reset by peer”,只要确定探测源是100.64.0.0/10,就可以认为这是健康检查探测的逻辑,可以忽略该异常信息。

 

b.  UDP监听

 image.png

 

UDP是面向无连接的协议,一般用于如DNSsyslog协议场景,UDP监听的规则是发出报文,在规定时间内,收到回应表示失败,未收到报文表示成功(也可以设置为返回特定字符串来判定成功)。

 

  • 请求方式:UDP报文;
  • 判定成功逻辑:超时时间内没有收到ICMP端口不可达;
  • 判定失败逻辑:超时时间内收到了ICMP端口不可达;

 

c.  HTTP(s)监听

 image.png

 

  • 请求方式:HTTP GET方法或HEAD方法,可能包含Host头,默认使用HEAD方法(尽可能地降低健康检查给后端ECS带来的影响,HEAD方式只返回响应头部字节数,开销也比较小);
  • 判定成功逻辑:超时时间内收到了配置的正常状态码(如200);
  • 判定失败逻辑:除上述以外的情况(如收到了502状态码、收到了RST、建连失败等);

 

d.  滞后性和探测频率

 image.png

 

滞后性:如果机器出现故障时,CLB需要一定的时间才能感应到;

探测频率:探测频率会由于机器数量而倍增,需要在灵敏性和业务可容忍的范围内,适当设定该频率;

 

4.  服务器组

 image.png

 

a.  默认服务器组(某监听上没有配置任何的转发策略,也没关联任何的虚拟服务器组,流量就会转发到此组,一个CLB实例只有一个默认服务器组)

  • 兜底服务器组

 

b.  虚拟服务器组(最灵活,操作成本最低)

  • 转发策略
  • 监听维度

 

c.  主备服务器组(比较灵活,是备用服务机器转发到主服务机器上,不适合常见业务,只适合特定的主备业务)

  • 一主一备
  • 始终对主进行健康检查

 

5.  转发策略

 image.png

CLB转发策略流程图

 

  • 提高单个实例的使用率;
  • 统一管理入口;
  • 灵活调度流量;

 

 

相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
1天前
|
前端开发 网络协议 安全
【网络原理】——HTTP协议、fiddler抓包
HTTP超文本传输,HTML,fiddler抓包,URL,urlencode,HTTP首行方法,GET方法,POST方法
|
1天前
|
域名解析 网络协议 关系型数据库
【网络原理】——带你认识IP~(长文~实在不知道取啥标题了)
IP协议详解,IP协议管理地址(NAT机制),IP地址分类、组成、特殊IP地址,MAC地址,数据帧格式,DNS域名解析系统
|
1天前
|
存储 JSON 缓存
【网络原理】——HTTP请求头中的属性
HTTP请求头,HOST、Content-Agent、Content-Type、User-Agent、Referer、Cookie。
|
1天前
|
安全 算法 网络协议
【网络原理】——图解HTTPS如何加密(通俗简单易懂)
HTTPS加密过程,明文,密文,密钥,对称加密,非对称加密,公钥和私钥,证书加密
|
1天前
|
XML JSON 网络协议
【网络原理】——拥塞控制,延时/捎带应答,面向字节流,异常情况
拥塞控制,延时应答,捎带应答,面向字节流(粘包问题),异常情况(心跳包)
|
3天前
|
网络协议 安全 网络安全
探索网络模型与协议:从OSI到HTTPs的原理解析
OSI七层网络模型和TCP/IP四层模型是理解和设计计算机网络的框架。OSI模型包括物理层、数据链路层、网络层、传输层、会话层、表示层和应用层,而TCP/IP模型则简化为链路层、网络层、传输层和 HTTPS协议基于HTTP并通过TLS/SSL加密数据,确保安全传输。其连接过程涉及TCP三次握手、SSL证书验证、对称密钥交换等步骤,以保障通信的安全性和完整性。数字信封技术使用非对称加密和数字证书确保数据的机密性和身份认证。 浏览器通过Https访问网站的过程包括输入网址、DNS解析、建立TCP连接、发送HTTPS请求、接收响应、验证证书和解析网页内容等步骤,确保用户与服务器之间的安全通信。
26 1
|
1天前
|
网络协议 算法 Java
【JavaEE】——初始网络原理
局域网,广域网,局域网连接方式,交换机,集线器,路由器,网络通信,五元组(源IP,源端口,目的IP,目的端口,协议),协议分层,TCP/IP五层网络协议,封装和分用,交换机和路由器的封装和分用
|
1月前
|
运维 物联网 网络虚拟化
网络功能虚拟化(NFV):定义、原理及应用前景
网络功能虚拟化(NFV):定义、原理及应用前景
85 3
|
1月前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
|
1月前
|
网络协议 安全 算法
网络空间安全之一个WH的超前沿全栈技术深入学习之路(9-2):WireShark 简介和抓包原理及实战过程一条龙全线分析——就怕你学成黑客啦!
实战:WireShark 抓包及快速定位数据包技巧、使用 WireShark 对常用协议抓包并分析原理 、WireShark 抓包解决服务器被黑上不了网等具体操作详解步骤;精典图示举例说明、注意点及常见报错问题所对应的解决方法IKUN和I原们你这要是学不会我直接退出江湖;好吧!!!