Load-balancing
We've already shown some examples of using load-balancing in our discussion of upstream servers. Besides being a termination point for clients from the Internet as a reverse proxy, NGINX serves the function of a load balancer well. It can protect your upstream servers from overload by spreading out the connections that it proxies. Depending on your use case, you can choose one of three load-balancing algorithms.
Load-balancing algorithms
The upstream
module can select which upstream server to connect to in the next step by using one of three load-balancing algorithms—round-robin, IP hash, or least connections. The round-robin algorithm is selected by default, and doesn't need a configuration directive to activate it. This algorithm selects the next server, based on the server that was selected previously, the server that is next in the configuration block, and the weight that each server carries. The round-robin algorithm tries to ensure a fair distribution of traffic, based...