proxy_store взаимный - логика работы.

squirl andriy.tovstik на gmail.com
Чт Мар 11 13:19:58 MSK 2010


Здравствуйте.

Имеются два картинкоотдающих бэкенда. Картинки на них кладуться по WebDAV, переодически случается такое, что на один из бэкендов заливка отваливается.
Чтобы бэкенды "взаимно" синхронизировались сделал следующим образом на каждом:

------------------------------------------------------------------------------------------------------------
location / { 
            root /storage;
            rewrite ^/.*/((\d+)\d\d\d\d\.jpg)$ /img/$lang/$size/$2/$1 break;
            error_page  404 = @fetch;
       }   
       location @fetch {
            internal;
            proxy_pass           http://IP_address_of_another_backend;
            proxy_store          on; 
            proxy_store_access   user:rw  group:rw  all:r;
            proxy_temp_path      /storage/temp;
            root                 /storage;
        }   
------------------------------------------------------------------------------------------------------------

т. е. - не нашли на одном бэкенде, сходили на второй, сохранили себе и отдаем.

Интересует, каким образом обрабатывается ситуация, когда файла нету на обоих бэкендах? Я боялся, что возникнет рекурсия и бэкенды будут таскаться друг к другу бесконечно,
однако такого не происходит. Это, конечно, радует :) Но хотелось бы понять - почему?

---
WBR, Andriy Tovstik
UNIX System Administrator
Skype: andriy.tovstik
JabberID: squirl на jabber.kiev.ua
Nick-handle: SQ22-UANIC






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