We are running our python app behind nginx. First we used uWSGI, because it is fast, reliable and easy to deploy. Next, as the number of simultaneous clients (using server-sent events/eventstream) increased, we have partially switched the app to gunicorn+gevent.
Currently, the app is served like this:
- statics is handled by nginx directly;
- short requests (REST API) is handled by uWSGI (nginx<->uwsgi connected via unix socket)
- long requests (server-sent events) are handled by gunicorn+gevent (and nginx acts as a rev proxy)
Should we stay with this setup or are there any reasons for switching from uWSGI to gunicorn?