阿里云负载均衡器知多少?

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

为什么需要负载均衡?

负载均衡的出现主要是为了解决用户在网络服务中面临的以下问题:

  • 单台服务器性能不足

    中大规模系统/网站访问流量比较大,单台服务器处理能力不足,使用多台服务器提供服务,因此需要负载均衡做流量调度,提升服务能力。

  • 业务需要灵活调度

    对于访问量巨大的网站/系统,对流量处理调度要求很高,此时需要负载均衡的超强性能+调度算法甚至高级转发能力实现对业务的灵活调度。

  • 单点故障

    关键系统/网站需要多服务器做负载均衡高可用,避免一台服务器故障业务就受影响,需要负载均衡进行健康检查,可及时发现和屏蔽故障服务。

  • 业务对外暴露需要

    负载均衡可以提供反向代理能力,通过负载均衡的统一对外提供服务,用户后端服务无需直接对外暴露,提升业务的安全性。

负载均衡是如何工作的?

负载均衡的工作原理示意图如下:

  1. 负载均衡通过监听网络流量,将请求从客户端传递到负载均衡服务。负载均衡服务接收到请求后,会根据预定义的调度算法,决定将请求分发到哪个后端服务器上。

  2. 负载均衡服务会维护一个或多个服务器组,其中包含多个后端服务器。负载均衡服务会根据服务器的健康状态和负载情况,选择合适的服务器来接收请求。这样可以确保每个服务器能够均衡地处理请求,避免单个服务器负载过重导致性能下降或服务不可用。

四层/七层负载均衡器区别

  • 四层负载均衡 像是一个快递分拣中心 。它只看快递上的地址标签(目标IP和端口),然后迅速将其扔给对应的线路。它不关心包裹里是什么。

  • 七层负载均衡 则像是一个智能前台 。它会拆开快递,阅读里面的信件内容(HTTP头、URL、Cookie等),然后根据内容决定交给哪个部门处理(比如把退换货交给售后,把询价单交给销售)。假如需要根据url等转发,比如nginx的各种rewrite都是工作在7层负载均衡器。

核心机制对比

对比维度 四层负载均衡 (L4) 七层负载均衡 (L7)
工作层级 传输层 (TCP/UDP协议) 应用层 (HTTP/HTTPS/WebSocket等)
处理依据 IP地址 + 端口号 内容 (URL、域名、HTTP头、Cookie、请求参数)
核心机制 转发/路由 。 L4设备建立一个透明的数据转发通道。它解析TCP/UDP包,获取目标IP和端口,然后将整个数据包原样转发给后端服务器。 代理/交换 。 L7设备会先终结 客户端的连接,解析出应用层内容,然后像客户端一样,新建一个连接向后端服务器请求数据。
会话保持 通常基于源IP地址 支持更高级的方式,如基于Cookie植入,或根据HTTP Header等信息实现。
安全性 防护能力较弱,只能做基础的IP黑白名单或SYN Flood防护。 更强。可以深度分析数据包内容,阻挡SQL注入、CC攻击、非法词汇过滤等。
性能 高,延迟低。因为不需要拆包查看内容,数据拷贝少,CPU开销小。 相对较低。因为需要解包和重新封装,对计算资源要求高,延迟略高于L4。
典型产品 F5硬件,LVS,AWS NLB,阿里云NLB Nginx,HAProxy,AWS ALB,阿里云CLB (7层模式)

阿里云负载均衡器类型

阿里云负载均衡服务支持以下类型的负载均衡:

  • 应用型负载均衡ALB:专门面向七层,提供超强的业务处理性能,例如HTTPS卸载能力。单实例每秒查询数QPS(Query Per Second)可达100万次。同时ALB提供基于内容的高级路由特性,例如基于HTTP报头、Cookie和查询字符串进行转发、重定向和重写等,是阿里云官方云原生Ingress网关。

  • 网络型负载均衡NLB:面向万物互联时代推出的新一代四层负载均衡,支持超高性能和自动弹性能力,单实例可以达到1亿并发连接,帮您轻松应对高并发业务。NLB面向海量终端连接、高并发消息服务、音视频传输等业务场景针对性地推出了TCPSSL卸载、新建连接限速、全端口监听等高级特性,在物联网MQTTS加密卸载等场景为用户提供多种辅助手段,是适合IoT业务的新一代负载均衡。

  • 传统型负载均衡CLB:支持TCP、UDP、HTTP和HTTPS协议,具备良好的四层处理能力,以及基础的七层处理能力。既能工作在4层,也能工作在7层,具体和配置的协议有关,假如配置的https,http就是7层;如果配置的是tcp(一般作为应用clb,只做简单转发)类似于4层负载均衡器。

相关推荐
_OP_CHEN2 小时前
【Linux系统编程】(四十)线程控制终极指南:从资源共享到实战操控,带你吃透线程全生命周期
linux·运维·操作系统·线程·进程·c/c++·线程控制
Fantasy丶夜雨笙歌2 小时前
Web 服务基石 Nginx
运维·前端·nginx
赋创小助手2 小时前
服务器主板为何不再采用ATX?以超微X14DBM-AP 为例解析
运维·服务器·人工智能·深度学习·自然语言处理·硬件架构
芝士雪豹只抽瑞克五2 小时前
HAProxy 七层负载均衡器笔记
运维·笔记·负载均衡
欧云服务器2 小时前
宝塔邮局磁盘满了怎么清理?linux磁盘清理教程
运维·服务器
Purgatory0012 小时前
CSS 访问服务器
服务器·前端·css
觅特科技-互站2 小时前
告别手动微调Prompt:DevOps用陌讯Skills重构AI运维工作流
运维·prompt·线性回归·kmeans·devops
科技块儿2 小时前
开发者需要为网站或应用集成IP归属地显示功能,如何选择可靠的数据源?
服务器·网络·数据库·tcp/ip·edge·ip
天空属于哈夫克32 小时前
基于 Webhook 的企业微信外部群自动化推送集成
运维·自动化·企业微信