【问题标题】:When to use Application Load Balancer and Network Load Balancer何时使用 Application Load Balancer 和 Network Load Balancer
【发布时间】:2020-08-03 01:10:22
【问题描述】:

我是 AWS 新手。 我开始学习 ALB 和 NLB。我知道 ALB 在第 7 层协议中工作,而 NLB 在第 4 层协议中工作。

谁能解释一下ALB和NLB的实时例子?何时使用 ALB 和 NLB??

尽管所有 Web 应用程序都将使用 TCP 协议在服务器和客户端之间建立连接。

那么 ALB 是否使用 TCP(第 4 层)协议??
那么它们之间有什么不同呢?谁能简单解释一下???

【问题讨论】:

    标签: aws-load-balancer aws-application-load-balancer


    【解决方案1】:

    总结:NLB 只知道 TCP,而 ALB 知道请求的一切。

    NLB 只能根据 IP 地址和其他 TCP 包信息路由请求。

    ALB 可以通过查看请求的内容来路由请求:它使用什么协议(HTTP、HTTPS)?它试图查询什么路径(/api/v1/api/v2)?它在请求什么content-type

    因此,如果您希望将 v1 API 端点的请求路由到自动缩放的 EC2 实例组,并将 v2 API 端点的请求路由到另一组实例,那么您的最佳选择是 ALB,因为它允许您配置规则,使您想要的路由成为可能。

    另一方面,如果您只想将来自德国的客户端路由到一个自动扩缩组,而将来自美国的客户端路由到另一个组,则 NLB 就足够了,因为您可以设置与这些客户端的 IP 地址匹配的规则国家。

    【讨论】:

      【解决方案2】:

      TL;DR 要对 HTTP 请求进行负载平衡,请使用 ALB。对于 TCP/UDP 负载平衡,请使用 NLB。

      ALB (Application Load Balancer) 理解 HTTP。如果您需要进行基于 HTTP 的路由(例如,根据请求路径路由到不同的目标),您需要使用 ALB。

      ALB 的独特功能包括:

      • HTTP 基于路径的路由
      • 基于 HTTP 标头的路由
      • 重定向
      • Lambda 函数作为目标

      NLB(网络负载平衡器)在传输级别 (TCP/UDP) 运行。 NLB 比 ALB 性能更高,因为它们不需要解析 HTTP 消息。

      NLB 也支持一些独特的功能:

      • 静态IP
      • 弹性 IP 地址
      • 保留源 IP

      您可以在Elastic load balancing features page 上查看功能的完整比较。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-01-21
        • 2021-11-25
        • 2017-11-23
        • 1970-01-01
        • 2020-08-13
        • 1970-01-01
        • 1970-01-01
        • 2017-07-30
        相关资源
        最近更新 更多