Hey, this is my first message to this mailing list. I am not, right now, using nginx, but i would like to do so. My intent is the following: I would like to build a farm of x web server. I would like to perform load balance among them. I need high performance and high availability for a set of 100k domains to hosted within this farm of web server. The requirement i was presented with is that a domain must be served by at least 3 server. I want to use nginx as web server; and could use nginx or varnish as reverse proxy, which ever would be a better approach. Some doubts arose : 0) Do i need to have the html/jpeg/php/* of a given domain replicated on each of the http server i want to serv that domain ? 1) What happens if a web client upload a file to that domain, it (the file) get saved in a http server and the next request of that web client to the domain goes to a second http server the upload file is not there ? 2) What about session? User authenticated session ? How does nginx manage such? A given server could have information about a session and the other server that serves the domain too is not aware about the session. Thanks a lot for your time and cooperation. Best regards.
on 2012-12-22 23:19
on 2012-12-23 00:28
On 22 December 2012 22:19, Friedrich Locke <friedrich.locke@gmail.com> wrote: > Hey, > > this is my first message to this mailing list. I am not, right now, using > nginx, but i would like to do so. Good plan. It's a very flexible HTTP server and router. > My intent is the following: > > I would like to build a farm of x web server. I would like to perform load > balance among them. I need high performance and high availability for a set > of 100k domains to hosted within this farm of web server. The requirement i > was presented with is that a domain must be served by at least 3 server. That's very achievable. At mass-hosting volumes like these, you'll need to distinguish between static site hosting and dynamic application hosting. Doing the former at volume is (almost!) trivial using nginx; doing the latter will be more ... interesting. > I want to use nginx as web server; and could use nginx or varnish as reverse > proxy, which ever would be a better approach. If you mean a pure reverse proxy with responsibility other than HTTP routing, then nginx is very well suited to this. If you want to bring back-end health checks and HTTP caching into the mix as well, then I'd suggest supplementing nginx with Varnish (caching) and HAProxy (health checks). Whilst nginx can fulfil both these functions, I prefer those other two tools for various operational reasons. > Some doubts arose : > > 0) Do i need to have the html/jpeg/php/* of a given domain replicated on > each of the http server i want to serv that domain ? Generally yes, but you may wish to research network attached storage (NAS) and cluster filesystems for a common solution to this scaling problem. > 1) What happens if a web client upload a file to that domain, it (the file) > get saved in a http server and the next request of that web client to the > domain goes to a second http server the upload file is not there ? You don't mention if this is the site admin uploading files to the site, or user generated content (UGC) being provided by users In general, the former is something you'd need to solve in the same way you solved for your question #0, above. The latter is generally an application-level problem, which may well use the replication/etc strategies provided by the solution to #0, but really isn't obliged to. > 2) What about session? User authenticated session ? How does nginx manage > such? A given server could have information about a session and the other > server that serves the domain too is not aware about the session. You would normally solve this at the application or application framework layer. HTH, Jonathan -- Jonathan Matthews // Oxford, London, UK http://www.jpluscplusm.com/contact.html
on 2012-12-23 02:09
Thanks Matthews for you reply. What cluster FS do you, or someone else, suggest for this farm of web server ? Does nginx support for mass hosting configuration? I would not like to set each of the 100k domain manually ! Thanks once more! PS: BTW, for the cluster FS, keep in mind i am running OpenBSD and cannot change the this OS. I must adapt myself to it. On Sat, Dec 22, 2012 at 9:27 PM, Jonathan Matthews
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
Log in with Google account | Log in with Yahoo account
No account? Register here.