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