Introduction to load balancing
When you have multiple instances of the same service running in the backend of your server, you will need to implement some kind of a gateway that will decide which particular instance any particular client would connect to. This gateway software would need to have a logic that will decide which specific instance any specific client connection will need to go to. This is what load balancing is.
A load balancer is a piece of software that is positioned between the client and the server-side application instances. It can be a component of the client application itself, or it can be a proxy that the client communicates directly with.
But regardless of what type of load balancer you use, its operation principles will be the same. When it receives the instruction from the client to send a request to the server, it will decide which specific server-side endpoints the request should go to.
We will now build a basic distributed application to demonstrate...