Does it make sense to proxy multiple tornado-based processes with nginx, where both of them are non-blocking I/O based? -
i found several online articles explains how proxy multiple tornado processes (using supervisord or something) nginx, can't understand reason why they're using tornado back-end server framework.
according understanding, both tornado , nginx non-blocking i/o based, if want benefits of non-blocking i/o, isn't 1 of them enough? there reasons choose non-blocking i/o based server both front-end , back-end?
yes, makes sense run multiple tornado processes , proxy of them. reason gil: each python process can make use of 1 core, make use of cores on machine must run multiple processes.
there number of ways run , manage multiple tornado processes, , not of them require load balancer nginx, recommended configuration because allows each process restarted independently zero-downtime updates.
the benefits of non-blocking i/o apply @ every level. using nginx load balancer reduce benefit see using tornado on backend, benefits still there, sites using long polling or websockets.
Comments
Post a Comment