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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
应用型负载均衡 ALB,每月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)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
17天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
52 1
|
21天前
|
人工智能 运维 Cloud Native
上新丨统一多层网关架构系列视频课程
《统一多层网关架构系列视频教程》将于 11 月初上线。通过该课程,您将体系化了解应用网关的发展趋势和最佳实践。课程配套资料或服务包括 PPT(PDF 版)、演示 Demo、视频回放和群内答疑等。
|
1月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
57 3
|
9天前
|
机器学习/深度学习 运维 监控
智能运维在现代IT架构中的转型之路####
【10月更文挑战第29天】 本文旨在探讨智能运维(AIOps)如何成为现代IT架构不可或缺的一部分,通过分析其核心价值、关键技术及实践案例,揭示AIOps在提升系统稳定性、优化资源配置及加速故障响应中的关键作用。不同于传统运维模式的被动响应,智能运维强调预测性维护与自动化处理,为企业数字化转型提供强有力的技术支撑。 ####
37 0
|
1月前
|
存储 运维 监控
高效运维:从基础架构到自动化管理的全面指南
【10月更文挑战第11天】 本文将深入探讨如何通过优化基础架构和引入自动化管理来提升企业IT运维效率。我们将从服务器的选择与配置、存储解决方案的评估,到网络的设计与监控,逐一解析每个环节的关键技术点。同时,重点讨论自动化工具在现代运维中的应用,包括配置管理、持续集成与部署(CI/CD)、自动化测试及故障排除等方面。通过实际案例分析,展示这些技术如何协同工作,实现高效的运维管理。无论是IT初学者还是经验丰富的专业人员,都能从中获得有价值的见解和实操经验。
64 1
|
1月前
|
存储 运维 监控
高效运维管理:从基础架构优化到自动化实践
在当今数字化时代,高效运维管理已成为企业IT部门的重要任务。本文将探讨如何通过基础架构优化和自动化实践来提升运维效率,确保系统的稳定性和可靠性。我们将从服务器选型、存储优化、网络配置等方面入手,逐步引导读者了解运维管理的核心内容。同时,我们还将介绍自动化工具的使用,帮助运维人员提高工作效率,降低人为错误的发生。通过本文的学习,您将掌握高效运维管理的关键技巧,为企业的发展提供有力支持。
|
2月前
|
敏捷开发 运维 Prometheus
构建高效运维体系:从基础架构到自动化管理
本文探讨了如何通过优化基础架构、引入自动化工具和流程,以及加强团队协作,构建高效的运维体系。通过案例分析和实践建议,帮助运维人员实现系统的稳定性、可靠性和可维护性。
|
2月前
|
负载均衡 网络协议 Unix
Nginx负载均衡与故障转移实践
Nginx通过ngx_http_upstream_module模块实现负载均衡与故障转移,适用于多服务器环境。利用`upstream`与`server`指令定义后端服务器组,通过`proxy_pass`将请求代理至这些服务器,实现请求分发。Nginx还提供了多种负载均衡策略,如轮询、权重分配、IP哈希等,并支持自定义故障转移逻辑,确保系统稳定性和高可用性。示例配置展示了如何定义负载均衡设备及状态,并应用到具体server配置中。
|
2月前
|
运维 Cloud Native Devops
云原生架构的崛起与实践云原生架构是一种通过容器化、微服务和DevOps等技术手段,帮助应用系统实现敏捷部署、弹性扩展和高效运维的技术理念。本文将探讨云原生的概念、核心技术以及其在企业中的应用实践,揭示云原生如何成为现代软件开发和运营的主流方式。##
云原生架构是现代IT领域的一场革命,它依托于容器化、微服务和DevOps等核心技术,旨在解决传统架构在应对复杂业务需求时的不足。通过采用云原生方法,企业可以实现敏捷部署、弹性扩展和高效运维,从而大幅提升开发效率和系统可靠性。本文详细阐述了云原生的核心概念、主要技术和实际应用案例,并探讨了企业在实施云原生过程中的挑战与解决方案。无论是正在转型的传统企业,还是寻求创新的互联网企业,云原生都提供了一条实现高效能、高灵活性和高可靠性的技术路径。 ##
197 3
|
3月前
|
消息中间件 负载均衡 Kafka
Kafka 实现负载均衡与故障转移:深入分析 Kafka 的架构特点与实践
【8月更文挑战第24天】Apache Kafka是一款专为实时数据处理和流传输设计的高性能消息系统。其核心设计注重高吞吐量、低延迟与可扩展性,并具备出色的容错能力。Kafka采用分布式日志概念,通过数据分区及副本机制确保数据可靠性和持久性。系统包含Producer(消息生产者)、Consumer(消息消费者)和Broker(消息服务器)三大组件。Kafka利用独特的分区机制实现负载均衡,每个Topic可以被划分为多个分区,每个分区可以被复制到多个Broker上,确保数据的高可用性和可靠性。
70 2