应用程序负载均衡器与网络负载均衡器

QAA*_*uto 10 load-balancing amazon-elb aws-application-load-balancer

我是 AWS 新手。我无法清楚了解 ALB 与 NLB 的区别。有人可以简单地解释一下吗?

jam*_*mes 13

已经有一些很好的答案,让我挑选一些可能​​有帮助的关键点。

网络负载均衡器

顾名思义,这仅适用于网络级别。通常是第 4 层。它不关心也不查看与应用程序层相关的任何内容,例如 cookie、标头等。

它与上下文无关,只关心它以这种方式引导的数据包中包含的网络层信息。

这里完成的“平衡”仅通过 IP 地址、端口号和其他网络变量来完成。

应用程序负载均衡器

这考虑到从应用程序到网络的多个变量。它可以根据此路由其流量。

它具有上下文感知能力,可以像基于变量组合一样轻松地基于任何单个变量来定向请求。

主要差异

网络负载均衡器仅转发请求,而应用程序负载均衡器检查 HTTP 请求标头的内容以确定将请求路由到何处

网络负载平衡不能确保应用程序的可用性,而应用程序负载平衡可以。

我从中提取此信息的一些很好的来源是:

https://medium.com/awesome-cloud/aws-difference- Between-application-load-balancer-and-network-load-balancer-cb8b6cd296a4

https://linuxacademy.com/community/show/22677-application-load-balancer-vs-network-load-balancer/

https://aws.amazon.com/elasticloadbalancing/features/#compare

  • 你的“关键差异”有一些不准确。NLB 根本不转发*请求*,因为*请求*是第 7 层。NLB 路由*连接*。NLB 具有与 ALB 一样的运行状况检查,因此不清楚您的意思是“无法确保应用程序的可用性”*。 (5认同)
  • 确实如此,具体取决于“应用程序”是什么。如果它是一个 Web 应用程序,那么 NLB 不太可能是正确的选择。 (2认同)