Hash-based load balancing
When you need to ensure that hash-based load balancing is the optimal choice, commonly, the client's IP address is used as the pattern to match so that any issues with cookies and per upstream server session tracking is sticky. This means that every subsequent request from the same hash will always route to the same upstream server (unless there's a fault with the upstream server).
How to do it...
The upstream
block directive looks exactly the same as the round-robin configuration, except we now explicitly tell NGINX to use the hash method—a reminder that this needs to remain outside of the server
block directive. Here's our upstream
block:
upstream localapp { hash $remote_addr consistent; server 127.0.0.1:8080; server 127.0.0.1:8081; server 127.0.0.1:8082; }
Then, we'll define our server
block directive:
server { listen 80; server_name load.nginxcookbook.com; access_log /var/log/nginx/load-access.log combined; location...