Мы использовали nginx -> uWSGI, и теперь мы оцениваем возможность использования Varnish в качестве слоя кэширования между nginx и uWSGI (аналогично http://www.heroku.com/how/architecture).
Но nginx поддерживает только HTTP 1.0 на задней панели, поэтому ему придется создавать новые соединения с Varnish для каждого запроса.
Многие рекомендуют запускать nginx перед Varnish, но разве не имеет смысла использовать что-то вроде Cherokee, чтобы устранить накладные расходы на HTTP-соединение, поскольку он поддерживает HTTP 1.1 на задней панели?
Мы также обсуждали это, когда добавляли наш уровень внутреннего кеширования, мы также используем nginx, но с squid и JVM, обслуживающим контент.
Если вы не используете какие-либо функции, уникальные для nginx, которые вы могли бы переключить, мы уже создали пару модулей nginx.
Вы должны учитывать фактические накладные расходы на настройку этого соединения по сравнению с сквозным запросом. Для нас при тестировании всегда было <2 мсек, даже чтение актива из кеша памяти требовало больше, чем ответ (> 5 мс).