Forum: NGINX multiple $mogilefs_path variables

Posted by Valery Kholodkov (Guest)
on 2010-03-05 12:58
Attachment: mogilefs_multiple_vars.patch (5,16 KB)
(Received via mailing list)
Greetings!

This patch for nginx mogilefs module implements multiple $mogilefs_path 
variables.

They names are $mogilefs_path, $mogilefs_path1 ... $mogilefs_path9

This allows to implement failover in nginx when a storage node fails.

Example:

location /download/ {
    [...]

    mogilefs_noverify on;
    mogilefs_pass {
        proxy_pass $mogilefs_path;
        proxy_buffering off;
        error_page 502 503 504 = @failover1;
    }
}

location @failover1 {
    if($mogilefs_path1 = "") {
        return 503;
    }

    proxy_pass $mogilefs_path1;
    proxy_buffering off;
    error_page 502 503 504 = @failover2;
}

location @failover2 {
    if($mogilefs_path2 = "") {
        return 503;
    }

    proxy_pass $mogilefs_path2;
    proxy_buffering off;

    [ ... and so on ... ]
}

When mogilefs_noverify on directive is accompanied with such 
configuration, MogileFS tracker will be able to return paths to file 
without verifying storage node's live status, which theoretically makes 
it reply faster.

It will be nice if someone can test it.
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.