Cache revalidation using If-None-Match

Gena Makhomed gmm at csdoc.com
Thu Jul 17 09:48:12 UTC 2014


On 16.07.2014 3:09, S.A.N wrote:

 > Они будут очень полезны для тех кто хочет управлять кешированием через
 > бекенд, а не програмить в конфигах Nginx.

On 16.07.2014 3:44, S.A.N wrote:

> Наверно стоит объяснить почему логику кеширования мы вынесли на бекенд и
> минимально используем конфиг Nginx.

У nginx конфиг декларативный.

"програмить в конфигах nginx" - это говорится про попытки императивного
программирования логики формирования ответа сервера в конфиге nginx,
вместо того, чтобы вынести формирование HTTP ответа на backend.

Вы же пытаетесь часть конфига nginx перенести на backend
и программировать конфиг nginx через заголовки HTTP ответа.

Вместо того, чтобы один раз описать то, что хотите получить
в конфиге nginx в декларативном стиле и не грузить backend
динамическим формированием/переопределением конфига nginx.

Это у вас тоже layering violation, только уже в другую сторону.

> Так же у нас на разных серверах работают PHPD (daemon), в будущем
> планируется общения между демонами внутри дата центра, напрямую без Nginx.

У варианта использования phpd разве есть какие-то преимущества
по сравнению с вариантом nginx+php-fpm, если связь между nginx
и php-fpm делать через unix domain socket ?
подробнее - см. http://php-fpm.org/about/
тем более, что phpd уже deprecated

> Скорей всего это будет cURL и по этому бекенд должен уметь сам отвечать за
> HTTP кеширования а не рассчитывать на Nginx конфиг.

В таком случае - backend`у тем более нет смысла пытаться
перепрограммировать конфиги nginx через заголовки HTTP ответов.

Поэтому поведение nginx следует описывать именно что в конфиге nginx.
Если для разных location`ов / виртуальных серверов nginx должен
кешировать по разному - это надо явно декларировать в конфиге.

-- 
Best regards,
  Gena



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