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

本文涉及的产品
云服务器 ECS,每月免费额度200元 3个月
云服务器ECS,u1 2核4GB 1个月
简介: 课程目标了解负载均衡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转发策略流程图

 

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

 

 

相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
相关文章
|
3天前
|
存储 监控 安全
云端防御战线:云计算环境下的网络安全策略与实践
【4月更文挑战第23天】在数字化转型的浪潮中,云计算已成为推动企业敏捷性、可扩展性和成本效率的关键因素。然而,随着数据和服务迁移至云端,传统的网络边界逐渐模糊,给网络安全带来了前所未有的挑战。本文探讨了在多租户云环境中维护信息安全的先进策略和技术,分析了云服务模型(IaaS, PaaS, SaaS)特有的安全风险,并提出了一系列针对性的安全措施和最佳实践。通过深入讨论身份与访问管理、数据加密、入侵检测系统以及合规性监控等关键技术,本文旨在为读者提供一套全面的云计算安全防护框架。
5 0
|
7天前
|
人工智能 监控 安全
构筑安全之盾:云计算环境下的网络安全策略与实践
【4月更文挑战第19天】 在数字化转型的浪潮中,云计算已成为企业IT架构的核心组成部分。然而,随着云服务使用的普及化,网络安全问题亦变得日益复杂和挑战性。本文将深入探讨如何在云计算环境中实施有效的网络安全策略,保障数据的安全性和完整性。我们将从云服务模型出发,分析不同服务模型下的安全威胁,并提出相应的防护措施。文章还将讨论信息安全管理的最佳实践,包括加密技术、身份验证、访问控制以及安全监控等方面,旨在为企业提供一套全面的云计算安全防护框架。
|
9天前
|
网络协议 Java API
深度剖析:Java网络编程中的TCP/IP与HTTP协议实践
【4月更文挑战第17天】Java网络编程重在TCP/IP和HTTP协议的应用。TCP提供可靠数据传输,通过Socket和ServerSocket实现;HTTP用于Web服务,常借助HttpURLConnection或Apache HttpClient。两者结合,构成网络服务基础。Java有多种高级API和框架(如Netty、Spring Boot)简化开发,助力高效、高并发的网络通信。
|
10天前
|
监控 安全 网络安全
云端防御:云计算环境中的网络安全策略与实践
【4月更文挑战第15天】 在数字化转型的时代,云计算已成为企业运营不可或缺的技术支撑。然而,随着云服务模式的广泛采纳,网络安全挑战亦随之而来。本文深入探讨了云计算环境下的安全威胁,分析了云服务模型对安全策略的影响,并提出了一系列创新的网络安全防护措施。通过研究最新的加密技术、访问控制机制和持续监控方法,文章旨在为企业提供一个综合性的网络安全框架,以确保其云基础设施和数据的安全性和完整性。
35 8
|
10天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:DevOps与容器技术融合实践
【4月更文挑战第15天】 在当今快速发展的信息技术时代,传统的IT运维模式已难以满足业务敏捷性的需求。本文旨在探讨如何通过整合DevOps理念和容器技术来构建一个高效的自动化运维体系。文章将详细阐述DevOps的核心原则、容器技术的基础知识,以及两者结合的优势。此外,文中还将分享一系列实践经验,包括持续集成/持续部署(CI/CD)流程的搭建、微服务架构的应用,以及监控和日志管理策略的优化,以期帮助企业实现快速、可靠且安全的软件交付过程。
|
12天前
|
人工智能 运维 监控
构建高效自动化运维体系的实践与思考
【4月更文挑战第14天】在数字化转型的浪潮中,自动化运维作为提升系统稳定性和效率的关键手段,受到了企业的广泛关注。本文将深入探讨如何构建一个高效的自动化运维体系,涵盖从基础设施的搭建到流程的优化等多个方面。通过分析当前自动化运维的挑战及解决方案,文章旨在为读者提供一套实用的策略框架,帮助企业实现运维工作的高效化、标准化和智能化。
|
16天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第10天】 随着数字化转型的不断深入,企业对信息技术基础设施的要求日益提高。云原生架构作为一种新兴的设计理念和技术集合,以其灵活性、可扩展性和容错性,正在成为推动企业技术革新的关键力量。本文将探讨云原生技术的核心组件、实施策略以及面临的主要挑战,并分析如何通过采纳云原生架构来优化业务流程和提升服务效率。
|
17天前
|
安全 网络安全 网络虚拟化
虚拟网络设备与网络安全:深入分析与实践应用
在数字化时代📲,网络安全🔒成为了企业和个人防御体系中不可或缺的一部分。随着网络攻击的日益复杂和频繁🔥,传统的物理网络安全措施已经无法满足快速发展的需求。虚拟网络设备🖧,作为网络架构中的重要组成部分,通过提供灵活的配置和强大的隔离能力🛡️,为网络安全提供了新的保障。本文将从多个维度深入分析虚拟网络设备是如何保障网络安全的,以及它们的实际意义和应用场景。
|
17天前
|
运维 监控 Kubernetes
构建高效自动化运维体系的实践与思考
【4月更文挑战第8天】在数字化时代,IT基础设施的复杂性日益增加,传统的手工运维模式已经难以满足快速响应和高效率的需求。本文将探讨如何通过自动化工具和策略构建一个高效的自动化运维体系,旨在提高系统的稳定性、减少人为错误以及优化资源分配。文章首先分析了自动化运维的必要性,接着介绍了实现自动化的关键技术和工具,并通过案例分析展示自动化运维体系的实际效果。最后,对自动化运维的未来发展趋势进行了展望。