什么是负载均衡器?2025年3月17日 | 阅读 3 分钟 负载均衡器是一种虚拟机或设备,用于平衡您的 Web 应用程序负载,这些负载可能是您收到的 Http 或 Https 流量。 它平衡多个 Web 服务器的负载,以便没有 Web 服务器不堪重负。  应用负载均衡器 - Amazon Web Services (AWS) 于 2016 年 8 月 11 日推出了一种新的负载均衡器,称为应用负载均衡器 (ALB)。
- 它用于将用户流量定向到公共 AWS 云。
- 它识别传入的流量并将其转发到正确的资源。 例如,如果 URL 具有 /API 扩展名,则它将路由到适当的应用程序资源。
- 它在 OSI 模型的第 7 层运行。
- 它最适合 HTTP 和 HTTPs 流量的负载平衡。
- 应用负载均衡器非常智能,可以将特定请求发送到特定 Web 服务器。
- 如果我们以 TESLA 为例。 我们有三种 TESLA 型号,即 TESLA Model X、TESLA Model S 和 TESLA Model 3,并且 TESLA 具有车载计算设施。 您将拥有一组为 Model X 服务的 Web 服务器、一组为 Model S 服务的 Web 服务器,以及类似 Model 3 的服务器。 我们有一个负载均衡器,用于检查传入流量是否来自 Model X、Model S 或 Model 3,然后将其发送到预期的服务器组。
网络负载均衡器 - 它在 OSI 模型的第 4 层运行。
- 它在传输层 (TCP/SSL) 做出路由决策,并且每秒可以处理数百万个请求。
- 当负载均衡器收到连接时,它会使用流哈希路由算法从目标组中选择一个目标。 它打开与所选目标的端口的 TCP 连接,并在不修改标头的情况下转发请求。
- 它最适合在高要求时负载平衡 TCP 流量。
经典负载均衡器 - 它在 OSI 模型的第 4 层运行。
- 它基于 IP 地址在客户端和后端服务器之间路由流量。
- 例如,Elastic Load Balancer 接收来自客户端在 TCP 端口 80 上的请求,然后它会将请求路由到后端服务器的指定端口。 负载均衡器路由到目标服务器的端口将具有端口号 80。 然后,后端服务器会将请求的数据发回 ELB,ELB 然后将后端服务器的回复转发给客户端。 根据客户端的观点,请求已由 ELB 而不是后端服务器完成。
- 经典负载均衡器是旧版 Elastic Load Balancer。
- 它还可以用于负载平衡 HTTP 或 HTTPs 流量,并使用第 7 层特定功能,例如 X-forwarded 和粘性会话。
- 您还可以将第 4 层负载均衡用于纯粹依赖 TCP 协议的应用程序。
负载均衡器错误如果您收到错误 504,这是一个网关超时错误。 负载均衡器仍然可用,但在与 EC2 实例通信时出现问题。 如果您的应用程序停止响应,ELB(经典负载均衡器)会响应 504 错误。 这意味着应用程序存在问题,可能是在 Web 服务器层或数据库层。 为了排除应用程序失败的位置,并在可能的情况下扩大或缩小规模。 X-Forwarded-For-Header 当您使用经典负载均衡器时,X-Forwarded-For-Header 用于确定客户端的 IP 地址。 X-Forwarded-For-Header 的工作原理  - 用户位于 Ipv4 地址,即 124.12.3.23。
- 用户正在向经典负载均衡器发送请求,后者又将请求折叠到 EC2 实例中。 EC2 实例将使用私有地址,即 10.0.0.23,这是 EC2 实例唯一可以看到的地址。
- EC2 实例仅捕获私有地址,因为 Classis 负载均衡器包含公共 IP 地址。 需要公共地址,因为它提供了有价值的信息,例如“谁在使用您的网站”。
- EC2 实例从经典负载均衡器以 X-Forwarded-For 请求标头的形式获取 Ipv4 地址。
|