• 应用负载均衡器根据请求内容将传入的网络流量分配到多个服务器上。
  • 它通过分析流量内容的细节(如请求头和路径)来有效地路由请求。
  • ALB 支持高级路由决策,可针对特定应用需求优化流量分配。

负载均衡器在管理多台服务器的流量方面发挥着关键作用,确保没有单一服务器过载。这一功能对于保持应用程序平稳运行至关重要,尤其是在高流量环境中。随着云计算的普及和微服务架构的采用,负载均衡器,尤其是应用负载均衡器(ALB)的作用变得越来越重要。

ALB 工作在应用层,并根据请求内容做出路由决策。随着企业不断创新并追求更灵活、可扩展的解决方案,ALB 的自适应和智能路由能力对于优化复杂网络环境中的应用性能和改善用户体验至关重要。

什么是应用负载均衡器

ALB 是工作在开放系统互连(OSI)模型应用层的负载均衡器的一种。不同于工作在网络层(第 4 层)的传统负载均衡器,ALB 可以根据 HTTP/HTTPS 请求的内容(如路径、请求头或 Cookie)进行路由。这使得路由更复杂、负载均衡效果更好,因此 ALB 非常适合现代 Web 应用、微服务和容器系统。

应用负载均衡器的主要功能

基于内容的路由:ALB 可以根据HTTP 请求中的值(包括主机头、路径模式、HTTP 方法和查询字符串)来路由流量。这使得创建满足应用需求的特定路由规则成为可能。

SSL 终止:ALB 可以执行 SSL 解密,将后端服务器从这一计算密集型任务中解放出来。这简化了证书管理,同时提高了后端解决方案的整体性能。

WebSocket 支持:ALB 原生支持 WebSocket,以管理客户端与服务器之间的实时双向连接,满足实时聊天和通知等应用的需求。

微服务和容器支持:ALB 还能与微服务和基于容器的系统有效集成。它们可以根据请求内容将流量路由到不同的服务,并有助于不同服务的负载均衡和隔离。

健康检查:ALB 对已注册的目标(例如 EC2 实例或 IP 地址)执行健康检查,以确认目标健康并准备好接收流量。不健康的目标会被自动修复,并在恢复健康之前从目标池中移除。

自动伸缩:ALB 可以根据流量进行扩展或缩减,这使得它在处理高流量应用时很有效,同时在低流量应用期间不会消耗大量服务器资源。

应用负载均衡器如何工作

应用负载均衡器通过将传入的应用程序流量引导到适当的目标(例如EC2 实例、微服务或容器)来工作。以下是简化的工作流程:

客户端请求:客户端发起对托管应用程序的服务器的调用。

DNS 解析:DNS 将请求解析到 ALB。

监听器配置:ALB 被动监听特定端口上的传入连接,例如 HTTP 的 80 端口或 SSL 的 443 端口。

规则评估:ALB 评估监听器规则以确定如何处理请求。这些规则可以包括主机头、路径模式、HTTP 方法等。

目标选择:根据规则,ALB 将请求路由到一个或多个目标,通常是已注册的目标,例如 EC2 实例或 IP 地址。

健康检查:ALB 持续监控每个目标组中目标的健康状况。不健康的目标会被移除,直至恢复健康。

响应客户端:被选中的目标分析请求,并通过 ALB 向客户端返回适当的响应。

扩展阅读:如何理解 APNIC IPv6 地址?

扩展阅读:网络连接的架构师:云工程师的角色

应用负载均衡器的优势

提升性能:使用 ALB 还能确保流量平稳分配到服务器,防止任何服务器因流量过载,从而获得更好的整体性能。

增强安全性:值得一提的是,ALB 具有固有的安全功能,与 WAF 结合使用可缓解某些网络攻击和其他漏洞。

提高可用性:ALB 通过负载均衡显著提升应用可用性,当某些实例宕机时,能将流量“转移”到正常运行的实例。

灵活性:ALB 为微服务或容器化应用提供基于内容的路由,使组织能够更轻松地管理和扩展其服务。