фронтенд для MogileFS

Olexander Shtepa isk at idegroup.com
Mon May 19 15:26:18 MSD 2008


Пытаюсь прикрутить MogileFS для сайтов. Всё было хорошо, но обнаружилось препятствие.

Вот типичная конфигурация MogileFS:
(Clients) <-> (Perlbals) <-> (mod_perls) <->(Trackers)
                 |
                 |-    <-> (DAV server 1)
                 |-    <-> (DAV server 2)
                 |-    <-> (DAV server 3)
                 --    <-> (DAV server N)
mod_perl после обращения к трекеру возвращает хидер (например):
x-reproxy-url: http://192.168.1.13:7500/dev9/0/000/938/0000938648.fid http://192.168.1.10:7500/dev6/0/000/938/0000938648.fid"
который указывает Perlbalу проксировать запрос на DAV сервера.
Главное здесь то что у Perlbalа есть 2 альтернативных урла для загрузки, что даёт отказоустойчивость.

При попытке заменить Perlbal на nginx отказоустойчивость теряется, так как nginx может проксировать только 1 урл за раз:
 location /photos {
   proxy_pass   http://cluster;
 # X-Accel-Redirect: /mogilefs
 # x-reproxy-url: http://192.168.1.13:7500/dev9/0/000/938/0000938648.fid
 }
 location /mogilefs {
   internal;
   set        $reproxy $upstream_http_x_reproxy_url;
   proxy_pass $reproxy;
 }

К сожалению аргументом для proxy_pass не может выступать список урлов :(.
Что можете посоветовать?
Очень не хочется поднимать Perlbal паралельно nginxу только для этой задачи...


More information about the nginx-ru mailing list