Sagewire Logo

Newbie: Defining CF8 Clustered website in IIS and DNS

13 Message(s) by 4 Author(s) originally posted in server admin


From: Al Baker Date:   Thursday, October 11, 2007
I have two web server s on which I want to host a single web site using
Cold Fusion 8 cluster ing. Both servers are run ning Windows 2003 R2 Enterprise:

Web1, among other things a domain controller with its own IP, plus an IP for
the website .
Web2, the secondary domain controller with its own IP, plus an IP for the
website.

This is four different IPs.

I have already defined a Cold Fusion 8 instance on each server and on Web1 I have
created a cluster of the two instances. I am using DFS replication to keep the
images of the web site the same on both servers. (As an aside, the website
needs an SSL cert.)

I have seen no documentation covering this, which is supposed to be simpler
with Cold Fusion 8.

1) Is the correct solution to somehow define a single IP for the website that
exists on both servers?

1a) If so, is there anything I need to tell my hosting service when asking for
this hardware ?

1b) Once available, is there anything I need to do to prep it for use?

2) If I can not use a single IP, then IIS 6 on each server will have its own IP
for the website, which IP do I use for the website in DNS ?

If you know of any documentation which walks a newbie through the process of
setting up a website using Cold Fusion 8 clustering using IIS 6, please point me
to it! Everyone can not be learning this stuff by trial and error, can they?


From: Jochem van Dieten Date:   Friday, October 12, 2007
wrote in message:
I have two web servers on which I want to host a single web site using
Cold Fusion 8 clustering.

1) Is the correct solution to somehow define a single IP for the website that
exists on both servers?



There is no "correct solution". There are various options that may be
more or less suited for your requirements. You can have:
- two servers share an IP address (see Network Load Balancing in the
Windows documentation);
- two servers behind a load -balancer that distributes the load and has
the IP address;
- different IP addresses and distributing the users through [def]DNS[/def] (Domain Name Service)
(round-robin ).
2) If I can not use a single IP, then IIS 6 on each server will have its own IP
for the website, which IP do I use for the website in DNS?



Both.> If you know of any documentation which walks a newbie through the process of
setting up a website using Cold Fusion 8 clustering using IIS 6, please point me
to it! Everyone can not be learning this stuff by trial and error, can they?



ColdFusion clustering hasn'thing to do with the problem you are facing.
You've a network / DNS / IIS / Windows question and ColdFusion is not relevant
for it. For solving this issue, forget that you have ColdFusion and focus on the
rest.

Jochem--
Jochem van Dieten
Adobe Community Expert for Cold Fusion


From: Jochem van Dieten Date:   Friday, October 12, 2007
wrote in message:
I guess that brings me back to Cold Fusion-- then what's the point of a
Cold Fusion cluster with sticky session s and round-robin assignment if it is
being done elsewhere, such as [def]DNS[/def] (Domain Name Service) round robin or Windows NLB?



In most cases ColdFusion clustering is overkill. For 80% of the clusters I build
I wouldn't use clustering if it were up to me.

Jochem--
Jochem van Dieten
Adobe Community Expert for Cold Fusion


From: johnab Date:   Friday, October 12, 2007
well if all you want to use is your current hardware you'd need to use Windows
Load Balancing to share an IP address between the two nodes. We use it - whilst
it does have limitations it does an ok job but it's no alternative to a
dedicated load balancer.

Once you have setup an NLB then you define the same site on both nodes using the
same host header....

any more questions just ask, i will help where I can...


From: johnab Date:   Friday, October 12, 2007
but one thing, I'm running almost an identical setup . 2 servers, each running ColdFusion Enterprise and dual instances of ColdFusion on each....


From: Al Baker Date:   Friday, October 12, 2007
So, if I use Windows 2003 NLB, Cold Fusion will still properly handle sticky sessions and I can use a single IP SSL cert for the www.<domain>?


From: ke4pym Date:   Friday, October 12, 2007
You should check with your SSL provider. Verisign likes to license you per
server per certificate.

It is not so much up to ColdFusion to handle the sticky session as it is your load
balancer (NLB or hardware). If properly configured your load balancer will
stick you to a server for the session.


From: Al Baker Date:   Friday, October 12, 2007
I guess that brings me back to Cold Fusion-- then what's the point of a
Cold Fusion cluster with sticky sessions and round-robin assignment if it is
being done elsewhere, such as [def]DNS[/def] (Domain Name Service) round robin or Windows NLB?

It's as if Cold Fusion (which I have been using sine 1997 and love) has a
much-touted clustering facility that does not real ly handle a website across two
servers? From what has been explained, I could've a non-clustered instance of
Cold Fusion on each server and it'd be DNS round robin (no sticky sessions)
or Windows NLB (possible sticky sessions) that'd pick the server (and
Cold Fusion instance) to get the request.


From: ke4pym Date:   Friday, October 12, 2007
There are several layers of load balancing that need to occur.

A web server load balancer (hardware or software) needs to make a decision on
which web server to send the traffic too.

Then the web server's connector is responsible for figuring out which instance
to send the work packet too.

The purpose of clustering ColdFusion together is so that all of the instances are
available to all of the web server connectors and to keep the session
information (all of it, finally, in CF8) replicated across all of the physical
servers. This directly will relate to the experience of your users if
something in your site fails. Hopefully, if you have got the cluster built
correctly, they will never see the outage when the load balancer or connector
kicks them to another instance.


From: Al Baker Date:   Friday, October 12, 2007
Ah, then that seems to imply that regardless of which instance of Cold Fusion in
the Cold Fusion cluster gets the work packet from NLB, that Cold Fusion instance
will use the J2EE session information to re-route the request to the
appropriate instance on the server containing the in-memory session variables.

Did I read that correctly?


From: Jochem van Dieten Date:   Saturday, October 13, 2007
wrote in message:
Ah, then that seems to imply that regardless of which instance of Cold Fusion in
the Cold Fusion cluster gets the work packet from NLB



NLB doesn't decide which instance of ColdFusion gets the work, NLB decides
which IIS on which server gets the work. Then if the request is for a
.CFM page the JRun connector that is loaded into IIS decides which ColdFusion
instance gets it. And all ColdFusion instances on all servers have all in-memory
session variables.

Jochem--
Jochem van Dieten
Adobe Community Expert for Cold Fusion


From: Al Baker Date:   Saturday, October 13, 2007
That makes PER FECT sense! That also'd imply that it does not really matter
how a particular IIS website instance is assigned the work since that instance
is tied via wsconfig to the ColdFusion cluster (via a clustered ColdFusion instance) which then
takes over and makes the real clustering decisions.

Or, ANY method of picking an IIS instance for the web site is equal, as long
as it is dynamic enough to not give out dead instances. Thus Windows NLB is
good but round robin [def]DNS[/def] (Domain Name Service) is bad, since it'd continue to pass out an IP to
an instance on a dead server. Am I understanding you correctly?

I'd also presume that your comment that "And all ColdFusion instances on all
servers have all in-memory session variables" is for instances in the cluster.
I also have ColdFusion non-clustered instances on each server that are running other
low-priority web sites that aren't clustered and run on one or the other of
the servers. I assume those instances do not mutually share session variables.
Correct?


From: Jochem van Dieten Date:   Saturday, October 13, 2007
wrote in message:
That makes PERFECT sense! That also'd imply that it does not really matter
how a particular IIS website instance is assigned the work since that instance
is tied via wsconfig to the ColdFusion cluster (via a clustered ColdFusion instance) which then
takes over and makes the real clustering decisions.
Or, ANY method of picking an IIS instance for the web site is equal, as long
as it is dynamic enough to not give out dead instances. Thus Windows NLB is
good but round robin [def]DNS[/def] (Domain Name Service) is bad, since it'd continue to pass out an IP to
an instance on a dead server. Am I understanding you correctly?



Yes.> I'd also presume that your comment that "And all ColdFusion instances on all
servers have all in-memory session variables" is for instances in the cluster.
I also have ColdFusion non-clustered instances on each server that are running other
low-priority web sites that aren't clustered and run on one or the other of
the servers. I assume those instances do not mutually share session variables.
Correct?



Yes.

Jochem--
Jochem van Dieten
Adobe Community Expert for Cold Fusion



Next Message: CF8 keeps crashing



Programming | Sports | Autos

copyright 2006
Valid XHTML 1.0 Transitional