I do see you guys's point about distributed TX, and I do agree that the more
calls you can make in-VM, the faster things will be. I don't know of any
"real-world" applications that could not be designed without distributed TX.
However, I am currently designing an application, and there is one problem I
can't solve. Maybe you can help.
The front end is, as you might guess, a web page. I am not using any kind of
front-end load balancer, so as you might guess, I only have a single web
server. Ultimately, I would like to have my one web server talking to a cluster
of jBoss servers so I can load-balance expensive data-munging operations. The
only way I can think of to do this:
- Run apache and Tomcat (in its own VM) on the web server computer
- Run jBoss (without Tomcat integrated) on the cluster, Tomcat acts as the
client to the jBoss EJB's.
So you see the problem. I lose whatever benefit I might gain by running Tomcat
in the same VM as jBoss, including possible client-demarcated transactions, if
we decide to add that feature. The way I see it, the benefit of clustering is
that clients are ignorant of the cluster, right? Well, if I run Tomcat in-VM,
and it can only call EJB's that are in-VM, there is literally NO WAY for an
in-VM Tomcat to be ignorant of calling into a cluster of jBoss EJB's.
I may be way off-base with this one. Could you guys please give me an example
of how you envision running a cluster of jBoss servers in a web application that
has servlets or JSP's as the principal client to the EJB's?
-Charles