Where should distributed load balancing occur in a horizontally scalable architecture?
Correct Answer: D
The term horizontally scalable refers to systems whose capacity and throughput are increased by adding additional nodes. This is in distinction to vertically scaled systems, where adding capacity and throughput generally involves replacing smaller nodes with larger and more powerful ones.
Nevertheless, horizontal scalability brings a new problem, if you have 10 service doing the same job, which one to connect, to put simply how to distribute the traffic? Solution to this, of course, distributing incoming traffic to the pool of resources or servers by load balancing.
In distributed load balancing, there are no central load balancers, each client that requires some service uses that service via locally installed reverse-proxy. Reverse-proxy is always up-to-date with existing services, meaning when a new service is being provisioned, reverse-proxy is configuration and it is updated. Reverse-proxy, take cares of the load-balancing, so it is a client- side load-balancing. Every time, a client makes a request, based on the load-balancing strategy, reverse-proxy, distributes the request to the attached resources.