Microservices and service-oriented architectures require a change in your load-balancing strategy.
A more modern approach is to use a service registry, a tool-like Consul. Now, as new instances boot, they get automatically registered inside of this catalog—the central registry—that knows, what are all the services, where are they running, what's their current status? And then we drive our load-balancing against this registry.
Applications can either natively query the registry using something like DNS and discover and connect to their upstreams without going through a load balancer. Or we use the registry to automatically populate and drive the configuration of the load balancers. So as soon as a new instance boots it gets put into the registry, then that registry is basically repopulating and reconfiguring our load balancer to instantly send traffic to it.
The Application Load Balancer operates at Layer 7 of the OSI model, the network load balancer distributes traffic based on Layer 4. However, the classic load balancer works at both Layer 4 and 7.The Classic Load Balancer is a connection-based balancer where requests are forwarded by the load balancer without “looking into” any of these requests. They just get forwarded to the backend section.