LinuxQuestions.org
Share your knowledge at the LQ Wiki.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Server
User Name
Password
Linux - Server This forum is for the discussion of Linux Software used in a server related context.

Notices


Reply
  Search this Thread
Old 08-06-2007, 02:20 PM   #1
cyberhydra
LQ Newbie
 
Registered: Aug 2007
Posts: 25

Rep: Reputation: 15
How to plan a server cluster/load balance


Hello,

I am in the process of going from a managed dedicated server situation to building my own linux box and co-locating it near my house.

I am planning on having heavy traffic on my site within the next year or so and am considering planning for the cluster/load balance as part of my start up.

There is not much coherent information online or in books regarding the different types, softwares, or procedures for this type of endeavor.

Please, if you have any experience or information on this issue, post something to help all who may want to do this.

========================
In my minds eye, a load balance or cluster system is to make sure your site does not 'crash' or go offline with too much web traffic. A way to balance that load and put it on other servers with the same information and such.

However, major concerns are evident with a dynamic website system when talking about going from one server to another...

These concerns are listed below...

---------------------------------

1- how does one carry cookies, sessions, etc, from one server to another if customer is 'pushed' due to traffic overwhelm?

2- in a dynamic setting, lots of user input, file uploads, stat information, and even admin adjustments are continuosly happening. How can 3 different servers keep this information sanely updated instantly across all three servers?

3- Is it impossible to cluster or load balance a website that is dynamic with user input? I cannot see how without slave/master systems that have to go both ways across all servers....and at the same time copy/delete media files and such.


--------------------------------------

Does anyone have a working system that is clustered or balanced that deals with sessions, user input, securtiy, etc?

Even my current hosting company, that caters to large businesses and deddicated servers has 'no idea'...


I am sure I am not the only one who is interested in this...

Anyone wanna provide some thoughts?
 
Old 08-06-2007, 03:44 PM   #2
stress_junkie
Senior Member
 
Registered: Dec 2005
Location: Massachusetts, USA
Distribution: Ubuntu 10.04 and CentOS 5.5
Posts: 3,873

Rep: Reputation: 335Reputation: 335Reputation: 335Reputation: 335
You could look around to find out how Google does it. You appear to want a smaller version of what they have got.

You could use something like Open Mosix. That would handle the load balancing and resource sharing/locking. I don't know if it could handle authenticated sessions.
 
Old 08-07-2007, 09:25 AM   #3
Slax-Dude
Member
 
Registered: Mar 2006
Location: Valadares, V.N.Gaia, Portugal
Distribution: Slackware
Posts: 528

Rep: Reputation: 272Reputation: 272Reputation: 272
I found some interesting links in google on how to make an apache cluster (as i can understand it, it handles sessions)

http://www.howtoforge.com/high_avail...apache_cluster

http://www.linuxvirtualserver.org
 
Old 08-07-2007, 10:07 AM   #4
DotHQ
Member
 
Registered: Mar 2006
Location: Ohio, USA
Distribution: Red Hat, Fedora, Knoppix,
Posts: 548

Rep: Reputation: 33
Interesting. If apache cluster handles sessions ... Awesome.

What OS are you planning to use?

I've used a 'edge' server (IBM terminology) to front end all traffic coming to my app servers. The edge server would send each client to whichever app server was least busy at the time. However if that app server died, the sessions on it died also. Those users would have to reconnect and start from their session over. But if they had committed anything to the database (which was on the backend on a separate server) it would be saved as expected.
This worked well, even though it was not session capable.....at least the app / web site is still available to the user. I only mention this so that if you cannot find a session capable cluster manager, you still can have the web site redundancy to a point.

Last edited by DotHQ; 08-07-2007 at 10:09 AM.
 
Old 08-08-2007, 06:40 AM   #5
cyberhydra
LQ Newbie
 
Registered: Aug 2007
Posts: 25

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by DotHQ
Interesting. If apache cluster handles sessions ... Awesome.

What OS are you planning to use?

I've used a 'edge' server (IBM terminology) to front end all traffic coming to my app servers. The edge server would send each client to whichever app server was least busy at the time. However if that app server died, the sessions on it died also. Those users would have to reconnect and start from their session over. But if they had committed anything to the database (which was on the backend on a separate server) it would be saved as expected.
This worked well, even though it was not session capable.....at least the app / web site is still available to the user. I only mention this so that if you cannot find a session capable cluster manager, you still can have the web site redundancy to a point.
I have no idea what I am planning to use as there is no coherent online or text book help book at all.

I was assuming a linux standard server with some kind of software or setup that allowed for balancing and clusters.

ANything I do find however, does not deal with sessions, user data, user input (files and database) and the like..

Considering that a user based website would deal with log ins, sessions, ssls, use data grabs (stats), user inputs, etc.....I am getting frustrated that there is no one out there who has dealt with it before, nor does there seem to be any set up to deal with it.

I was thinking of using a main computer with a bunch of fronts....this way all data could be master-slaved to the manin one while the fronts served everything. However, again, what happens when they get shunted from one from to the other? How are cookies handled and so forth...and how does session data get moved too?

My other thought was a series of computers, with a complex master-slave system where one is the main and all temp data is ported to it then filtered back to the others...but that does not work well on paper...lol

My only other thought is to make a server as a mail server, make another as the 'users server' for logged in people, then make a server for 'non logged users--, thus breaking up all the traffic.. Maybe another for those who grab info (such as RSS and stuff).... But it will still take a lot of master-slave mysql database manuvering, stats will be hard to compile, and the issue of user uploaded files can be a problem.

I just am finding it hard to believe there is no coherent system....I mean, 'copy' raid arrays work don't they? Why can't a set of three servers act like that? It would be perfect, almost to the second too.
 
Old 08-08-2007, 08:35 PM   #6
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,356

Rep: Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751
MySQL does cluster technology, so does Oracle.
 
Old 08-08-2007, 08:44 PM   #7
tajamari
Member
 
Registered: Jul 2007
Distribution: Red Hat CentOS Ubuntu FreeBSD OpenSuSe
Posts: 252

Rep: Reputation: 32
Smile

Quote:
Originally Posted by cyberhydra
Hello,

I am in the process of going from a managed dedicated server situation to building my own linux box and co-locating it near my house.

I am planning on having heavy traffic on my site within the next year or so and am considering planning for the cluster/load balance as part of my start up.

There is not much coherent information online or in books regarding the different types, softwares, or procedures for this type of endeavor.

Please, if you have any experience or information on this issue, post something to help all who may want to do this.

========================
In my minds eye, a load balance or cluster system is to make sure your site does not 'crash' or go offline with too much web traffic. A way to balance that load and put it on other servers with the same information and such.

However, major concerns are evident with a dynamic website system when talking about going from one server to another...

These concerns are listed below...

---------------------------------

1- how does one carry cookies, sessions, etc, from one server to another if customer is 'pushed' due to traffic overwhelm?

2- in a dynamic setting, lots of user input, file uploads, stat information, and even admin adjustments are continuosly happening. How can 3 different servers keep this information sanely updated instantly across all three servers?

3- Is it impossible to cluster or load balance a website that is dynamic with user input? I cannot see how without slave/master systems that have to go both ways across all servers....and at the same time copy/delete media files and such.


--------------------------------------

Does anyone have a working system that is clustered or balanced that deals with sessions, user input, securtiy, etc?

Even my current hosting company, that caters to large businesses and deddicated servers has 'no idea'...


I am sure I am not the only one who is interested in this...

Anyone wanna provide some thoughts?

First, what applications are planning to put and what OS u want to use? i assume its not windows, because this is a linux forum

how heavy is the traffic? you can do either load balancing via DNS osr load balancing via ultramonkey.
 
Old 08-08-2007, 11:25 PM   #8
cyberhydra
LQ Newbie
 
Registered: Aug 2007
Posts: 25

Original Poster
Rep: Reputation: 15
Quote:
Originally Posted by tajamari
First, what applications are planning to put and what OS u want to use? i assume its not windows, because this is a linux forum

how heavy is the traffic? you can do either load balancing via DNS osr load balancing via ultramonkey.
Sorry if it was not clear, but I believe I made it clear I am talking about a linux box...Nothing to do with windows..

LINUX server....

As for how heavy the traffic is, that is why I want to build a cluster/load balance....to handle the extra traffic as the site builds...and obviously be able to easily add more servers as it goes.

Load balancing via DNS would not, as far as I know, do anything with user input, any kind of sessions, nor sync the computers in anyway in a dynamic web server. However, I am researchin your idea anyway, just to be sure.

Is this something you have done before with a few servers?

I will check out ultramonkey and post anything I find here.

have you used it before? Does it deal with syncing databases, uploaded files, master-slaves, raid arrays, and user sessions? Was it a good fix for you?
 
Old 08-09-2007, 07:35 PM   #9
chrism01
LQ Guru
 
Registered: Aug 2004
Location: Sydney
Distribution: Rocky 9.2
Posts: 18,356

Rep: Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751Reputation: 2751
I believe this is a popular product for what you want to achieve.
http://www.f5.com/products/bigip/
Note: nothing to do with me, I've just heard of it a fair bit.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Load Balance NFS possible? Swakoo Linux - General 3 04-19-2011 08:08 AM
Internet load Balance serabut Linux - Networking 1 07-31-2006 02:56 AM
CPU Load Balance - Who knows? davi_cabral Linux - General 3 01-02-2006 03:07 PM
Connection load balance inaki Linux - Networking 1 08-22-2005 10:50 AM
Load Balance with BSD rpaula *BSD 1 03-22-2004 09:23 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Server

All times are GMT -5. The time now is 10:58 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration