Skip to main content
Participant
January 19, 2010
Question

CF Clustering/Multiserver Failover advice

  • January 19, 2010
  • 2 replies
  • 1304 views

Hi everyone,

     We are embarking on restructuring our ColdFusion infrastructure and would like to build a multi server fail over environment that would provide us with consistent uptime.  We have recently had some server hardware problems that has given us a pretty nasty black eye!  Therefore we need to make sure this doesn't happen again.  I have read the other thread about clustering and I am not sure if that is what we are after.  In fact I am not sure what half of it is.  We are running CF8 on a single server with a seperate MSSQL server.  One instance CF8 standard on the same server as IIS.  We would like to run at least two seperate CF servers in geographically different locations in a clustered/multiservered? mode where the sessions failover so our customers will not loose their sessions if a server fails.  We would like the SQL servers to be redudant as well.  The problem is I have never done this before and really do not know where to start short of purchasing two servers and CF Enterprise...

     I was wondering if anyone had any advise as to a reasonable configuration to make this all work or if Adobe has a presales support to help me understand how to best configure this architecture?  I have been developing CF since CF3.0 and am quite familiar with it from a developers perspective.  I have installed many servers and have a pretty good understanding of operating systems and coldfusion administration with the primary exception of clustering and multiserver.  Never had to do it so never did.

     Please share your thoughts and I would be gratefull for your advise.

Thanks in advance,

Ed

    This topic has been closed for replies.

    2 replies

    ilssac
    Inspiring
    January 19, 2010

    P.S. When you contact the Adobe representatives you may want to discuss the licensing options for cold and hot backups.  I'm not sure if this is a ColdFusion 8 or ColdFusion 9 or both licensing option, but I have read that in at least one of these versions, you can have at least cold and possible hot backup servers configured under a single ColdFusion license.  This would not be true clustering where both servers are running and sharing the load.  But it does allow for a complete, ready to go server to be available thus if the primary server stops responding the back up could be configured to take over.

    Participant
    January 19, 2010

    Hi Ian,

         Thanks for the reply.  I tried the number for Dominick and it is now out of order so I sent him an email.  Hopefully he will reply with a time we can chat. 

         Thanks for the info, looks like I need to look into clustering versus multi-server.  We definatlely want two servers up at the same time because we will want to leverage instant fail over as well as load balancing to help insure application response times.  Do you know if clustering works across different geographical locations?  For example we may have one hosting facility in Florida and another in Texas.  Will the clustering technique work in this case?  I also have read we need to be real careful about how much information we save in the session.  We put some information in the session but I would wonder how much is too much.  We keep basic user info and some permission information thats about it but the term too much information is relative.  Is there a benchmark somewhere that we could determine what is too much?

         Thanks again for your assistance!

    Take Care,

    Ed

    ilssac
    Inspiring
    January 19, 2010

    You might try the other number.  That post is a couple years old, but when I posted it to the other thread last week, the person I responded to said they where able to call the representative and found them to be very helpfull.

    Yes, session and clustering is a tricky proposition that does not have a simple, one size fit all solution.  The problem, of course, is that session data lives in the server memory and these two seperate systems, living in seperate states, are not going to be sharing the same ram memory chips.

    There are a couple of options available for you that each have their on advantages and trade offs.

    One is "sticky" session.  This is you configuring your cluster such that when a user first connects to your cluster they are assigned to one of the availble server, but then they are stuck to that server.  Thus all future requests from that user during the current session will be directed to the same server as the first request.  Thus the first server is the only server that needs to have the session state.  This is a simplier configuration to get set up and maintain.  But of course, if something happens to that server before the user's session is complete, their data will be lost.

    Two is session replication.  This is sometype of background process that is constantly taking session state from one server, serializing it, sending it over the network to the other server which deserializes it and updates it's own session state to mirror the other server.  This will allow for seamless transition of a user request from one server to the other if one server dies.  It would even allow server switching during the normal processing of a user's session so that each request can be handled by the current server most ready to handle another request.  But that is a fair amount of extra overhead going on behind the scenes.  All that data needs to be constantly flowing back and forth between both servers.  This is also a more complex relationship to maintain between the two servers.

    I have never actually set up any type of clustering enviornment.  So all this advice is only from what I have read over the years.  I am sure there are more details and options that one must consider.  But hopefully that gets you started in the right direction.

    ilssac
    Inspiring
    January 19, 2010

    I just posted last week in another thread contact information from Ben Forta's blog for Adobe's Dedicated ColdFusion representatives.

    http://forums.adobe.com/message/2525780#2525780

    This post is beginning to show it's age, but as far as I know it is still valid information.

    ColdFusion's Dedicated Account Managers

    Just a reminder (especially for those of you whose experiences when calling Adobe sales regarding ColdFusion were anything less than stellar) ...

    Adobe has dedicated ColdFusion Account Managers (in the U.S. and Canada), all they do is ColdFusion, and they can help with purchasing, EULA and pricing questions, and more. Here are the contact details:

    • For users in AK, AR, AZ, CA, CO, HI, IA, ID, IL, KS, LA, MN, MO, MT, ND, NE, NM, NV, OK, OR, SD, TX, UT, WA, WI, WY (West of the Mississippi), ping Jason Graves at jgraves@adobe.com or call (858) 847-7541.
    • For users in AL, CT, DC, DE, FL, GA, IN, KY, MD, MA, ME, MI, MS, NC, NH, NJ, NY, OH, PA, RI, SC, TN, VA, VT, WV (East of the Mississippi) as well as Eastern Canada & Ontario, ping Dominick Conte at dconte@adobe.com or call (858) 847-7451.

    I'm affraid if you are looking for failover to cover hardware failure, multi-home is not what you are looking for.  Multi-home is multiple instances of ColdFusion running on the same physical box.  These instances can be configured to provide a type of failover so if one instance starts experienceing problems, another can take over.  But obviously if some hardware fails and takes down the entire physical server, all instances on it are gone.

    You are looking for hardware failover which is another kettle of fish, and it is going to require multiple liceneses of ColdFusion, one for each physical server.  The small silver lining, is that if you do not need any other features of the Enterprise ColdFusion license, there is nothing wrong with multiple standard ColdFusion servers clustered together to provide failover benifits.

    HTH

    Ian