ПРОЕКТЫ 


  АРХИВ 


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: Re[6]: Проблема: upstream buffer is too small


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Re[6]: Проблема: upstream buffer is too small
  • From: Alexander Petrovsky <askjuise@xxxxxxxxx>
  • Date: Mon, 27 Sep 2010 21:07:08 +0800
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type; bh=SomtnWNFDCCQccaE8M9wTib5FBS2i0Sxu87ioRK+7w4=; b=IRd2+irAgiqEsDPtCVnfY9DhGYnoVmN5HtQrgFmL3n6cT2QP6lnRy0mCWDvKygjZ9X eZMnycObmRHcK5DpXmDbwRSVkYUB0oqbxceGfMPqcOKU/9joKthlda9Rdpay/rt5BexT cFrYwF+tisDQiewX6XmH+IGGtuiUqSE+LHCt8=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; b=JU/6Go2pRyb3+eutwKaKfBZfe2lnQVEJoNLBma5mBPjQpFjw1XAkb7b+uYT3DXyJrS 1Zmv3achfPDCn3RcJXDIO2lw6Lq+6oBcCwi9eFgcdm2JQCl/Pzc+j8K7l0WteocOYeV+ Qtehp09U+oftn8yqrgFXKQyKZZhfG0LYR7u88=
  • In-reply-to: <E1P0DFx-0002vl-00.ilvin-mail-ru@xxxxxxxxxxxx>
  • References: <AANLkTinQONCPEisnX092Fhpx9-KdK7ADnwBV0xGrhqz@xxxxxxxxxxxxxx> <E1P0DFx-0002vl-00.ilvin-mail-ru@xxxxxxxxxxxx>

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

Запрос
 |
 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, схема вырождается в первую и фатальных ошибок не происходит.

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

Эээ, простите, а зачем тогда вообще в этой схеме backend если nginx все может(сможет) сам?

--
Петровский Александр / Alexander Petrovsky,

ICQ: 350342118
Jabber: juise@xxxxxxxxx
Phone: +7 914 8 820 815
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.