Welcome! Log In Create A New Profile

Advanced

running nginx upload progress module in a cluster [on multiple nodes]?

Scott Trudeau
August 13, 2010 04:08PM
Hi,

I'm experimenting with the nginx upload progress module for a system I'm
building. At some point, I expect I'll need a cluster of "upload" nodes
(currently planning to use the upload and upload progress modules) in order
to handle all incoming uploads. The problem I'm expecting to have w/ the
upload progress module is, if I'm running a cluster of nodes w/ a shared IP
(and/or behind a load balancer), is how to ensure "progress" requests are
routed to the same host as the upload POST, (assuming POSTs always go to the
same domain, e.g., uploads.example.com).

I'm currently planning to run this system on EC2 and am considering the
following options, but thought I'd ask here to see if anyone has solved this
problem; has other, better ideas; or might correct my assumptions -- since I
don't particularly like any of these options.

Option 1: use Elastic Load Balancer with session stickiness
Problem: ELB is time-based so it is possible for the session to "unstick" in
the middle of an upload; higher time expiration settings could mitigate (but
not prevent) this but work against the load balancers ability to balance
traffic

Option 2: Distribute requests amongst nodes using a hash on
the X-Progress-ID value and subdomains (e.g., hash ids to a value a-z, map
[a-z].uploads.example.com evenly across N nodes; always post to the
subdomain as a hash of X-Progress-ID)
Problem: Spreads posts evenly, but complicates client logic and can't easily
intelligently balance requests based on current load

Option 4: Make the app pick a host (client must ask where to POST before
POSTing upload)
Problem: pushes load balancing work into the server app & makes the client
do more work

Option 3: RYO load balancer (build (or configure) a custom load balancer
that can run on EC2 instances and route requests intelligently)
Problem: Seems like overkill

Anyway -- thanks for any insights/thoughts.

Scott
_______________________________________________
nginx mailing list
nginx@nginx.org
http://nginx.org/mailman/listinfo/nginx
Subject Author Posted

running nginx upload progress module in a cluster [on multiple nodes]?

Scott Trudeau August 13, 2010 04:08PM

Re: running nginx upload progress module in a cluster [on multiple nodes]?

Mikhail Mazursky August 13, 2010 11:24PM

Re: running nginx upload progress module in a cluster [on multiple nodes]?

Brice Figureau August 15, 2010 11:12AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 178
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready