Load balancer - add nodes dynamically to upstream

For a particular use case, we are using nginx as a lb (with 'weight’s
and 'fail_timeout’s as mentioned in the wiki here -


This works great, but we want to add nodes to the lb dynamically ( i.e.
change the ‘server’ entries, by adding a new entry or delete stale
entries altogether).

On quick glance, there is a http upstream module here, -
Module ngx_http_upstream_module , that discusses those
options used in the lb application.

  • Is there an api to add server entries / delete entries managed by the
    upstream module dynamically ?

  • If the answer to the previous question is no, then can we
    ** patch upstream module to provide so or
    ** start writing a separate module similar to ‘upstream’ , that will
    provide the api to do so ?

Any other suggestions for dynamically managing the list of servers in
upstream. Thanks.

You can modify the config and perform a server reload, thats how I do

Of course Im refering to writing a script to do so.

Is there any news on dynamically adding / removing upstreams?

Posted at Nginx Forum: