何时使用应用程序负载均衡器和网络负载均衡器

3

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

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

即使所有的 Web 应用程序都会使用 TCP 协议来建立服务器和客户端之间的连接。

那么 ALB 是否使用TCP(第4层)协议?
那么它们之间的区别是什么?请有人简要解释一下?

2个回答

7
简而言之:NLB仅知道TCP,而ALB了解请求的全部内容。 NLB只能根据IP地址和其他TCP包信息来路由请求。 ALB可以通过查看请求内容来路由请求:使用了什么协议(HTTP、HTTPS)?尝试查询什么路径(/api/v1/api/v2)?请求的content-type是什么?
因此,如果您想将v1 API端点的请求路由到EC2实例的自动缩放组,将v2 API端点的请求路由到另一个组,则最好选择ALB,因为它允许您配置规则以实现所需的路由。
另一方面,如果您只想要从德国进入的客户被路由到一个自动缩放组,而来自美国的客户被路由到另一个组,则NLB就足够了,因为您可以设置匹配这些国家的IP地址的规则。

4

简而言之 要进行HTTP请求的负载均衡,请使用ALB。要进行TCP/UDP负载平衡,请使用NLB。

ALB (应用程序负载平衡器) 可以理解HTTP。如果你需要基于HTTP进行路由(例如,根据请求路径路由到不同的目标),则需要使用ALB。

ALB的独特功能包括:

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

NLB (网络负载平衡器) 在传输层(TCP / UDP)运行。因为NLB无需解析HTTP消息,所以比ALB更高效。

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

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

你可以在弹性负载均衡功能页面上查看完整的功能比较。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接