Coming up in our next nginx for Windows release, but available now for
everyone;
(EBLB) Elastic Backend Load Balancer, and (IWCP) Inter Worker
Communication
Protocol
[Lua required, for Windows don’t try it until our next release]
EBLB allows you to manage and scale your upstreams including their
IP:port
addresses!
EBLB only works for one worker (the one receiving the EBLB request) in
order
to use EBLB with all workers you need IWCP.
If you only run with one worker you don’t need IWCP.
If you want to participate in testing you can find the source, GUI,
commandline examples and a working test nginx conf file, here:
http://nginx-win.ecsds.eu/devtest/EBLB_upstream_dev3.zip
See also
https://groups.google.com/forum/#!topic/openresty-en/wt_9m7GvROg
IWCP has been designed as a generic solution to allow workers to talk to
each other and send over messages and/or commands. IWCP uses shared
memory
and is blazing fast even under high load.
(a shared pool of 1mb allows 10.000 messages to be processed in ±40
seconds
with 8 workers)
Possible other usages for IWCP are:
- moving long running requests to workers only doing this type of
processing - swapping/scaling servers between overloaded upstreams in real-time
- dynamically change the runtime environment of all or only some workers
- if the shared memory pool is elsewhere you could talk to other nginx
instances and their workers
… needless to say it’s potential is huge.
Obviously IWCP is in its infant state and could do with more
development;
comments, use cases and new code are welcome.
Source and other files will appear on github in due time (they are
already
there in fork merge requests).
Enjoy!
Posted at Nginx Forum: