Re: Разнести кэш по серверам

pioneer nginx-forum at nginx.us
Thu Nov 22 16:06:31 UTC 2012


Возможно. Сами допиливаем подобное, но у нас есть много привязок к HOST и
заголовкам. Без всего этого, то проще.
На двух виртуалках под vagrant поднял nginx и php-fpm  с файликом "Hello
from $hostname on $uri"
И назвал их
f1.test.com
f2.test.com

После чего брали конфиг для проксирования с кешем статики и переделывали для
кеширования динамики.
Алгоритм такой,
1. try_files $uri @cache @dynamic;
2. @cache 
Тут делаем proxy_pass на другие беккенды где может быть кеш через upsteam
3. @dynamic
Тут proxy_pass идут на динамику, для генерации страницы, если в кеше нет.

Хитрость в том, что бы запросы которые приходили на проверку кеша
обрабатывались отдельно, а не снова искались на соседних серверах. И при
этом не генерировались через динамику. Для этого используется не рабочий
proxy_pass который если в кеше нет ответа, выдает ошибку.

Таким образом мы либо получаем ответ и ложим себе в кеш. Либо идем на
upstream и генерируем ответ и ложим в кеш, после чего его смогут получить
другие.

Так, что советую сделать тестовую площадку, мне хватило ноута, и писать,
проверять конфиги для вашего случая.

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,233139,233148#msg-233148



Подробная информация о списке рассылки nginx-ru