As per AWS,
Network Load Balancer routes traffic to targets within Amazon Virtual Private Cloud (Amazon VPC) and is capable of handling millions of requests per second while maintaining ultra-low latencies
Also, NLB supports static / Elastic IP addresses. I am under the impression that AWS generally does not recommend IP addresses but instead asks clients to use DNS names so that the underlying hardware can scale (and IP addresses can change). How is this possible in the case of NLB where IP can remain static and still scale but the same functionality is not offered on ALB? - Is it a design limitation of ALB that AWS improved in NLB? Or any technical challenges to retain static IP in case of ALB?