ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re[6]: Проблема: upstream buffer is too small



> Либо я не понял что вы хотите, либо непонятно, где вы тут видите противоречие.
> 
> Есть какой-то server, в нём есть location с proxy_pass и proxy_cache.
> 
> curl дёргает урл, nginx лезет на бекенд, забирает ответ, ответ попал в кеш.
> Теперь второй бекенд (точно так же как curl) дёргает этот же урл,
> nginx отдаёт ответ из кеша.
> 

Текущая схема:

Запрос
  |
  v
nginx
  |                   
  v
backend -----------------> service


Запрос приходит на nginx, mod_perl овый backend идет за контентом к service.
Если service тормозит, то на backend'е выстраиваются толпы апачей и всем плохо.

Но дело в том, что nginx знает с какими параметрами backend будет вызывать 
service
И вызов service можно сделать из nginx. А бекенд возьмет данные из кеша nginx'а

Запрос
  |
  v
nginx -----------------> service
 | ^
 | |
 v |
backend

В этом случае при торможении service бекенду плохо не будет - все "зависшие" 
соединения останутся на nginx, который справляется со множеством соединений 
гораздо лучше апача...

Схема словами:

1) Приходит запрос на nginx.
2) Nginx знает из запроса с какими параметрами должен сходить backend к service.
3) Nginx прокачивает свой кэш нужным запросом
4) Nginx передает запрос backend'у
5) Backend идет за контентом не к service, а к nginx в его кэш.
6) Если в кэше не оказалось данных от service, схема вырождается в первую и 
фатальных ошибок не происходит.

Вот, что мне хочется.

Надеюсь, я смог донести Вам свою мысль.

С почтением,
  Илья Винокуров.


_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.