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