Round robin load balancing
Getting ready
To test the load balancing, you'll need to be able to run multiple versions of your app, each on different ports.
How to do it...
We'll start off with a basic round-robin configuration, with our upstream servers coming locally. We'll define the upstream
block directive at the http
block level, outside of the server
block:
upstream localapp { 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 / { proxy_pass http://localapp; } }
How it works...
In our upstream
block directive, we define the servers and the name of the backend servers. In our recipe, we simply defined these as three instances on the localhost on ports 8080
, 8081
, and 8082
. In many scenarios, this can also be external servers (in order to horizontally...