Load balancing is process of balancing incoming requests to multiple machines, processes or services. In this video we will explain two types of load balancers, layer 4 and layer 7.




Layer 4 - haproxy, NLB 


Pros


 - great for simple packet-level load balancing 


- Fast and efficient doesn’t look at the data 


- More secure as it cant really look at your packets. So if it was compromised no one can look


 - Uses NAT  - One connection between client and server NATed 




Cons


 - Can't do smart load balancing based on the content, such as switch request based on the requested media type


 - Cant do microservices with this type


 - Has to be sticky as it is a stateful protocol (all segments)




Layer 7 (Nginx , haproxy)


This type of proxy actually looks at the content and have more context, it knows you are visiting the /users resources so it may forward it to a different server. Essential and Great for microservices , it knows the content is video:image etc..