Our production environment currently consists of a cluster of
web servers (in our DMZ), that have JRun connectors installed that
point to a multi-server CF cluster in a more protected subnet in
our network.
We use Windows NLB for web servers (w/ IP affinity), but use
ColdFusion's built-in clustering for the app servers (w/ J2EE
session IDs, and sticky sessions).
We've not had any problems, and we do handle a fairly
significant, and growing load of concurrent users.
I'm a little confused on if, or how your environment differs
than ours. Are you using NLB for your APP servers? If so, I find
that a little odd. Are you not using CF-clustering at all? Also,
where are your web servers? Is each of your app servers also
playing the web server role as well?
Using NLB for your app servers seems like a flawed approach
to me. Can you clarify one some off these specifics a little more?
There's must be an obvious explanation in here somewhere - I just
feel like we're all going to need more info before we can get
anywhere on this.