Уже есть несколько отличных ответов, позвольте мне выделить некоторые ключевые моменты, которые могут помочь.
Сетевой балансировщик нагрузки
Как видно из названия, это только для сетевых уровней , Обычно уровень 4. Он не заботится и не видит ничего, касающегося прикладного уровня, такого как файлы cookie, заголовки и т. Д. c.
Он не зависит от контекста и заботится только об информации сетевого уровня, содержащейся в пакетах, которые он направляет таким образом и тому.
«балансировка», выполненная здесь это делается исключительно с помощью IP-адресов, номеров портов и других сетевых переменных.
Балансировщик нагрузки приложения
При этом учитывается несколько переменных, от приложения до сети. На основании этого он может маршрутизировать свой трафик c.
Он учитывает контекст и может направлять запросы на основе любой отдельной переменной так же легко, как и комбинацию переменных.
Ключевые отличия
Балансировщик сетевой нагрузки просто перенаправляет запросы, тогда как балансировщик нагрузки приложения проверяет содержимое заголовка 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