Лично я вижу в nginx суперпуперский фронтенд. Для меня это отдача
статики + reverse proxy + SSI.
Балансирующий роутер будет еще одним (я не говорю лишним) звеном,
потому что запросы на разные локейшны должны уходить на разные
бекенды.
Но есть маржинальные случаи. Например, растущий маленький проект.
Когда бекендов уже 2-3, но еще не сотни, то ставить между nginx и
бекендами балансер админу кажется несколько излишне. Поэтому есть
директива upstream, которая прекрасна. Но вот ограничивать конекты на
бекенд (как любой другой балансер) не умеет.
Ограничивать коннекты на бекенд - это штука полезная, хотя и условно.
Как я вижу, это позволит лишь чуточку быстрее принимать решение о
переключении бекенда, зато исключит возможность переждать пики в listen
очереди.
Но речь шла о том, что бы limit_rate работал без буфферизации, т.е. по
сути это даже не реверс, прокси, а обычный L7 балансировщик. В данном
случае nginx тут - лишнее звено, особо если не нужна балансировка по URI
(хотя есть и L7 балансировщики). И особо если большие файлы...
Еще раз, я ничего не пытаюсь сделать, просто болтаю языком.