Group 1: 1, 2, 3 -> DNS Name: cluster1.yourdomain.com
Group 2: 4, 5, 6 -> DNS Name: cluster2.yourdomain.com
Group 3: 7, 8 9 -> DNS Name: cluster3.yourdomain.com
1. Brownser points to www.yourdomain.com
2. Load balancer picks a machine 1-9 to load balance on. Let's say the LB picks Node 1
3. Node 1 receives the HTTP request
4. Node 1 knows it belongs to Group 1. It finds that the HttpRequest is routed to www.yourdomain.com by looking into the HTTP request. It re-routes the HTTP request by using a simple HTTP redirect to http://cluster1.yourdomain.com
5. Browser is redirected to http://cluster1.yourdomain.com and reposts
6. LB notices that the DNS name is cluster1.yourdomain.com and LB's to a node only in cluster1.
7. The browser continues browsing website via the cluster1.yourdomain.com base url.
IMHO, although I'm biased, the Tomcat clustering done by Thomas Peuss that comes with JBoss is the best solution and has a lot of different configuration settings and optimizations you can do. Check out the JBoss Clustering Doco for more information.