【云计算】云数据中心网络(七):负载均衡

云网络》系列,共包含以下文章:

  • 云网络是未来的网络基础设施
  • 云网络产品体系概述
  • 云数据中心网络(一):VPC
  • 云数据中心网络(二):弹性公网 IP
  • 云数据中心网络(三):NAT 网关
  • 云数据中心网络(四):IPv6 网关
  • 云数据中心网络(五):对等连接
  • 云数据中心网络(六):私网连接
  • 云数据中心网络(七):负载均衡

😊 如果您觉得这篇文章有用 ✔️ 的话,请给博主一个一键三连 🚀🚀🚀 吧 (点赞 🧡、关注 💛、收藏 💚)!!!您的支持 💖💖💖 将激励 🔥 博主输出更多优质内容!!!

云数据中心网络(七):负载均衡

  • 1.什么是负载均衡
  • 2.负载均衡的分类
    • 2.1 传统型负载均衡 CLB
    • 2.2 应用型负载均衡 ALB
  • 3.负载均衡的优势
  • 4.负载均衡的主要应用场景
    • 4.1 大流量的处理和调度
    • 4.2 基于应用层的流量调度
    • 4.3 云原生、微服务场景
    • 4.4 业务高可用
  • 5.面向云原生的负载均衡
    • 5.1 容器网络 Ingress 网关
    • 5.2 微服务发现与高可用
    • 5.3 零信任安全模型

随着移动互联网应用的蓬勃发展,对企业级应用系统的要求越来越高,应用系统常常会在以下几个方面遇到挑战,如下图所示。

在这里插入图片描述

  • 高可用Always Online):移动互联网对业务高可用有更高的要求,用户应用型系统必须具备强大的高可用和容灾能力,能发现并排除不健康的服务,在可用区及地域间进行容灾,以实现业务运行永不停止。
  • 超高弹性Super Elastic):5G 让接入网络变得更快,带宽变得更高,IoT 技术将使得互联网上的客户端数量呈爆炸式增长,因此在 5G / IoT 时代,应用系统必须能够承接更大的并发连接,以及更大的带宽。类似直播带货、在线电商秒杀等业务场景的成熟应用,会导致在线用户数在短时间内出现指数级的暴增,应用系统需要有非常好的弹性,以应对这些突如其来的流量洪峰,在流量高峰期能够自动扩容,在流量低谷期能够自动缩容。
  • 面向应用Application-Oriented):随着各类业务越来越复杂,业务的快速交付成了用户越来越关注的点。由于微服务、云原生等技术的广泛应用,负载均衡将不仅面向网络层提供服务,还需要深入应用层;不仅做网络入口,还需要面向应用交付,实现业务转发。在云原生 Ingress 场景下,更需要大量基于内容的高级路由特性以实现金丝雀发布、故障注入、流量仿真等重要的云原生开发模式。
  • 安全可靠Security & Trust):网络环境越来越复杂,网络中应用系统的复杂度也不断攀升,从而导致安全漏洞也在逐年增加,网络安全事关企业的生死存亡。网络安全防线被突破不仅意味着业务受损,更可能导致关键数据、信息的丢失,是企业无法承受之痛,安全始终是企业用户最关注的特性之一。

负载均衡可以帮助企业有效地解决上述痛点。

1.什么是负载均衡

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

阿里云提供全托管式在线负载均衡服务,具有即开即用、超大容量、稳定可靠、弹性伸缩、按需付费等特点,适合超大规模互联网应用,如春节红包、双11秒杀抢购、大规模在线物联网应用等高并发场景。

阿里云负载均衡提供 4 层、7 层负载均衡服务,其中 4 层负载均衡工作在 传输层(OSI 参考模型中第 4 层),基于 TCP / UDP 协议工作,4 层负载均衡单实例可以支持高达千万级别的并发连接与百万级别的每秒新建连接。

区别于 4 层负载均衡,7 层负载均衡工作在 应用层(OSI 参考模型中第 7 层),支持 HTTP、HTTPS、HTTP2、WSS、QUIC、GRPC 等众多应用协议,单实例可支持高达 100 万 QPS,7 层负载均衡支持 SSL 卸载(或 HTTPS / TLS 卸载),负载均衡负责 HTTPS 流量的加密与解密,后端服务器仅需处理普通 HTTP 流量,可以极大地节省后端服务在数据加解密上的算力,有效控制后端服务器的规模与成本。

2.负载均衡的分类

2.1 传统型负载均衡 CLB

传统型负载均衡 CLB(Classic Load Balancer)支持 TCP、UDP、HTTP、HTTPS,具备海量业务的 4 层处理能力,以及基于内容的 7 层处理能力,如下图所示。
在这里插入图片描述
传统型负载均衡 CLB 采用 4 层加 7 层的部署方式,提供 HTTPS 和简单的 7 层路由处理功能,提供 IP 形态(固定不变)售卖,采用主备方式工作(可用区的主备关系由阿里云指定),同一时刻只有一个可用区中的实例处于工作状态,另外一个可用区中的实例待命,当工作中的实例发生故障时,触发主备切换。用户域名直接通过 A 解析(或 AAAA 解析)指向负载均衡提供的 VIP(虚拟 IP),如下图所示。

在这里插入图片描述

2.2 应用型负载均衡 ALB

应用型负载均衡 ALB 专门面向 7 层负载均衡,提供超强 7 层性能和 HTTPS 卸载功能,单实例可达 100 万 QPS,同时还提供基于内容的高级路由特性,诸如基于 HTTP 标头、Cookie、查询字符串进行转发、重定向、重写等。

应用型负载均衡 ALB 提供域名与 VIP,域名与 VIP 的多级分发,承载海量请求,并且在多可用区部署(至少两个,可以更多),如下图所示。
在这里插入图片描述
区别于传统型负载均衡的主备工作模式,ALB 在所有可用区同时工作(并支持用户自定义的可用区组合),极大提升了负载均衡的弹性能力,同时避免了单可用区资源瓶颈,ALB 通过 EIP+ 共享带宽提供公网,如下图所示,由于使用了 EIP,ALB 可以灵活公网计费,如按流量、按固定带宽、按 95 去峰带宽计费等。
在这里插入图片描述

3.负载均衡的优势

  • 超强性能与弹性。由于使用专门优化的 DPDK LVS、Intel QuickAssist 硬件加解密卡大幅提升处理性能,负载均衡具备超强性能与超强弹性,单实例支持 1000 万并发连接、100 万 QPS。
  • 多级容灾保证业务安全可用。负载均衡采用 4 级容灾架构,包括应用级高可用、集群级高可用、可用区高可用、地域级高可用,同时提供 DDoS 和 WAF 扩展防护,全链路 HTTPS 满足 Zero-Trust 安全模型的要求,提供高达 99.99% 的可用性保障承诺(SLA)。
  • 深度集成云原生。与 ACK(容器服务 Kubernetes 版)、SAE(Serverless 应用引擎)深度集成;面向应用层交付,支持先进的 GRPC 协议,实现微服务间高效的 API 通信,基于 Header / Cookie 的路由能力,支持流量拆分以实现云原生场景中的金丝雀发布;流量镜像可以复制在线业务流量用于仿真业务测试 , 用基于内容的 QPS 限速可模拟业务熔断等场景。
  • 开箱即用、简单便利。负载均衡可秒级开通, 7 × 24 7×24 7×24 小时免运维,有着完善的监控日志,支持事件告警。

4.负载均衡的主要应用场景

4.1 大流量的处理和调度

视频、电商、社交、游戏、在线教育等行业的网站和系统访问量很大,对大流量的处理和调度能力要求很高。SLB 的超强性能和丰富的调度算法可以轻松面对大流量的处理和调度。如下图所示。
在这里插入图片描述

4.2 基于应用层的流量调度

应用负载均衡支持 HTTP 和 HTTPS,提供高级的 7 层功能,如基于内容的路由、支持 QUIC 协议等,能满足越来越多元化的应用层负载需求,大大提升交付效率,同时具备超强性能(100 万 QPS/ 实例)、安全可靠、简单易用等优势。而用户在云上自建 Nginx 做应用层流量调度,不仅稳定性难以保证,还存在额外的虚机建设与维护成本。使用应用负载均衡产品可以完美替代自建 Nginx。

4.3 云原生、微服务场景

作为阿里云官方推进的云原生 Ingress 网关,应用型负载均衡 ALB 支持高性能 API、GRPC 协议、金丝雀发布、在线流量镜像、基于 Header / Cookie 的转发、重定向、内容重写等,且无缝支持云原生场景。

4.4 业务高可用

企业用户都很关注业务的连续性,特别是金融、政务等关键领域的行业用户。负载均衡是用户业务稳定性和可靠性的有力保障。首先,负载均衡支持健康检查,可以及时发现和屏蔽异常后端服务器。其次,负载均衡支持多可用区,结合后端服务器的多可用区部署实现跨可用区容灾。再次,通过多地域部署,结合智能 DNS,负载均衡可以支持跨地域容灾。最后,负载均衡和 DDoS 防护、WAF 防护等安全产品无缝集成,为业务提供安全防护能力,提升业务连续性。

5.面向云原生的负载均衡

5.1 容器网络 Ingress 网关

不论是在阿里云 ACK 容器服务中,还是在用户自建的 K8s 集群中,容器网络的南北向入口都必须有一个 Ingress 网关来做业务流量的分发。由于是整个容器网络的流量入口,Ingress 网关的性能有可能成为整个系统的瓶颈。阿里云负载均衡的高性能、高弹性可以很好地消除这个瓶颈。同时,容器网络入口的高可用至关重要,一旦 Ingress 网关出现故障,整个容器集群将无法对外提供服务,而负载均衡具备 4 个层级的高可用,将保障容器网络的入口永远通畅。

5.2 微服务发现与高可用

在云原生的技术体系中,微服务是应用系统的最小组成单元,在大型复杂应用中,数个微服务互相调用、依赖,每一个微服务都存在多个运行副本,组成一个微服务集群对外提供服务,因此每一个微服务都需要配一个负载均衡。这些均衡负载不但用来解决高可靠问题,还承担着发现微服务的角色,因为容器本身会被快速生产、销毁、替换,其 IP 地址会频繁变化。如果没有负载均衡对外提供一个稳定的 IP 地址,服务的使用方将无法稳定地访问服务。

5.3 零信任安全模型

云原生技术起源于数据中心内的应用和服务,并在过去几年逐渐扩展到边缘甚至端上的计算。随着 5G 和 IoT 的快速发展,云边端一体化的云原生技术将深入更多的企业和更丰富的场景,无处不在,未来云原生的网络环境将变得更加复杂。这意味着可能存在更多的安全风险。因此在很多云原生的场景中,零信任Zero-Trust)安全模型至关重要。

零信任安全模型要求整个传输链路上的流量都是经过加密的,不对基础设施的网络做任何可信的假设。这意味着负载均衡需要对从客户端发出的加密流量进行解密,以处理 7 层业务路由,并且在发给后端微服务时要再次加密,以满足零信住安全模型的规范要求。

阿里云应用型负载均衡支持全链路的 HTTPS 加密,完全符合上述安全规范,同时,由于采用了专用的加解密硬件卡,相比于开源方案自建的负载均衡,能够节省 40%~50% 的 SSL 加解密算力。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/723.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

在Ubuntu 22.04上安装配置VNC实现可视化

前面安装的部分可以看我这篇文章 在Ubuntu 18.04上安装配置VNC实现Spinach测试可视化_ubuntu18开vnc-CSDN博客 命令差不多一样: sudo apt update sudo apt install xfce4 xfce4-goodies sudo apt install tightvncserver这个时候就可以启动server了 启动server&…

C++:map和set的使用

一、关联式容器介绍 在学习map和set之前,我们接触到的容器有:vector、list、stack、queue、priority_queue、array,这些容器统称为序列式容器,因为其底层为线性序列的数据结构,里面存储的是元素本身。 关联式容器也是用…

李沐-16 PyTorch 神经网络基础【动手学深度学习v2】

注:1. 沐神对应章节视频出处 2.代码使用Jupyter Notebook运行更方便 3.文章笔记出处 一、层和块 层:层(1)接受一组输入, (2)生成相应的输出, (3)由一组可调整…

【Camera Framework笔记】二、Camera Native Framework架构①

一、总体架构: service -> opencamera -> client(api1/api2) -> device3(hal3) | | (不opencamera…

Linux网络编程--网络传输

Linux网络编程--网络传输 Linux网络编程TCP/IP网络模型网络通信的过程局域网通信跨网络通信:问题总结: Linux网络编程 TCP/IP网络模型 发送方(包装): 应用层:HTTP HTTPS SSH等 —> 包含数据&#xff0…

终极版商城平台 涵盖虚拟商品全功能的商城平台 全能商城小程序 智慧商城系统 全品类百货商城服务

终极版商城平台 涵盖虚拟商品全功能的商城平台 全能商城小程序 智慧商城系统 全品类百货商城服务 含uniapp源码 全功能商城系统:完美运营版,简洁无冗余 这款商城系统完美集成了拼团、团购、秒杀、积分兑换、砍价活动,同时支持实物商品与虚拟…

2010年认证杯SPSSPRO杯数学建模B题(第一阶段)交通拥堵问题全过程文档及程序

2010年认证杯SPSSPRO杯数学建模 交通拥堵问题 B题 Braess 悖论 原题再现: Dietrich Braess 在 1968 年的一篇文章中提出了道路交通体系当中的Braess 悖论。它的含义是:有时在一个交通网络上增加一条路段,或者提高某个路段的局部通行能力&a…

深度学习知识点:循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU)

深度学习知识点:循环神经网络(RNN)、长短期记忆网络(LSTM)、门控循环单元(GRU) 前言循环神经网络(RNN)RNNs(循环神经网络)训练和传统ANN&#xff…

VulBG: 构建行为图加强基于深度学习的漏洞检测模型

近年来,人们提出了基于深度学习(DL)的漏洞检测系统,用于从源代码中自动提取特征。这些方法在合成数据集上可以实现理想的性能,但在检测真实世界的漏洞数据集时,准确率却大幅下降。此外,这些方法…

OpenHarmony网络协议通信—nanopb

简介 nanopb是一种小代码量的协议缓冲区实现,适用于任何内存受限的系统。 下载安装 直接在OpenHarmony-SIG仓中搜索nanopb并下载。 使用说明 以OpenHarmony 3.1 Beta的rk3568版本为例 将下载的Nanopb库代码存在以下路径:./third_party/nanopb 修改添…

docker安装并跑通QQ机器人实践(3)-bs-nonebot搭建

NoneBot2 是一个现代、跨平台、可扩展的 Python 聊天机器人框架(下称 NoneBot),它基于 Python 的类型注解和异步优先特性(兼容同步),能够为你的需求实现提供便捷灵活的支持。同时,NoneBot 拥有大…

如何在 Netlify 上手动部署 React 和 TypeScript 项目

在本教程中,我将教你如何使用 Vite 在 Netlify 上手动部署 React 和 TypeScript 项目。我将向你展示一些快速简单的步骤,让你的项目能够立即运行。 要跟着本教程操作,有几个先决条件: 一个现有的 React 和 TypeScript 项目&…

bug(警告):[vue-router] Duplicate named routes definition: …

查看警告:[vue-router] Duplicate named routes definition——翻译[vue-router]重复命名路由定义 小编劝诫:当我们在开发过程中警告也一定不要忽略,虽然你在本地跑代码时这些警告影响项目的正常运行,但是会让你产生误区&#xff…

OSPGF高级实验综合

1.实验拓扑 二.实验要求 1、R4为ISP,其上只配置IP地址;R4与其他所直连设备间均使用公有IP; 2、R3-R5、R6、R7为MGRE环境,R3为中心站点; 3、整个OSPF环境IP基于172.16.0.0/16划分;除了R12有两个环回&#x…

深入理解JAVA垃圾收集器CMS,G1工作流程原理 GC流程图 什么社会触发Minor GC?触发MinorGC过程。Full GC 过程。

java CMS,G1垃圾收集器工作流程原理浅析 JVM内存空间基础知识点(基于JDk1.8) 1.方法区:逻辑概念,元空间,方法区主要用于存储类的信息、常量池、方法数据、方法代码等。方法区逻辑上属于堆的一部分&#xf…

java实现chatGPT SDK

搭建一个 ChatGPT-SDK 组件工程,专门用于封装对 OpenAI 接口的使用。由于 OpenAI 接口本身较多,并有各类配置的设置,所以开发一个共用的 SDK 组件,更合适我们在各类工程中扩展使用 整个流程为:以会话模型为出口&#x…

C++笔试强训day3

目录 1.简写单词 2.dd爱框框 3.除2! 1.简写单词 链接 我的思路超级简单,就是将输入的每个string存入vector,然后遍历每个string的第一个元素,如果为小写字母,就-32存入,若为大写,则直接存入。…

Docker in Docker的原理与实战

Docker in Docker(简称DinD)是一种在Docker容器内部运行另一个Docker实例的技术。这种技术允许用户在一个隔离的Docker容器中创建、管理和运行其他Docker容器,从而提供了更灵活和可控的部署选项。以下是DinD的主要特点: 隔离性&am…

Maven实战—搭建微服务 Maven 工程架构

需求案例:搭建一个电商平台项目,该平台包括用户服务、订单服务、通用工具模块等。 项目架构: 用户服务:负责处理用户相关的逻辑,例如用户信息的管理、用户注册、登录等。订单服务:负责处理订单相关的逻辑…

使用示例解释.NET中的Mocking是什么?

让我们踏上探索.NET软件开发中Mocking概念的旅程,让我们深入了解Mocking是多么简单易懂、易于访问。请与我一起穿越这个主题,我将涵盖以下内容: 理解Mocking:为何它对于构建强大的测试策略至关重要。探索一些最常见的Mocking库&a…