lua back-end load balancing
agentzh
agentzh at gmail.com
Fri Jun 10 08:30:42 MSD 2011
On Fri, Jun 10, 2011 at 7:40 AM, Richard Kearsley
<Richard.Kearsley at m247.com> wrote:
> I’m using nginx-lua to get some info from a back end “auth” server for each
> request
>
Sounds cool :)
> The back end server is a simple http server written by myself – i.e. it is
> nowhere near as fast or as optimised as nginx and can therefore be
> considered a bottleneck
>
> I could run multiple backend server instances to give it a better chance of
> keeping up (i.e. one per cpu core) – but then I’d need to load balance (only
> round-robin style) to the multiple backends in my lua code.
>
Why not use the nginx upstream block directly? For example:
upstream backend {
server 10.32.56.4;
server 10.32.56.3;
}
location = /auth {
proxy_pass http://backend;
}
No Lua is required here unless you need to custimize the load
balancing algorithm.
> Is there something I can do in lua code to accomplish this?
>
If you insist in using Lua, just a quick note on this: the standard
ngx_proxy module supports dynamic resolvers by interpolating nginx
variables into the proxy_pass directive. I think you can use Lua to
compute the value of your nginx variables, which points to a custom
backend server.
Regards,
-agentzh
More information about the nginx
mailing list