[rabbitmq-discuss] RabbitMQ-based vcloud session clustering

Philippe Kirsanov pkirsanov at 38studios.com
Tue Apr 6 17:15:47 BST 2010

Just curious, how do you do load balancing with VMware?

-----Original Message-----
From: rabbitmq-discuss-bounces at lists.rabbitmq.com
[mailto:rabbitmq-discuss-bounces at lists.rabbitmq.com] On Behalf Of Jon
Sent: Monday, April 05, 2010 17:53
To: RabbitMQ
Cc: Tomcat Users List
Subject: [rabbitmq-discuss] RabbitMQ-based vcloud session clustering

Not sure there's anyone besides me on both these lists, but I'm
x-posting just to save time.

I'm currently working on setting up a RabbitMQ-based session cluster
using my own session manager and store. I had to write my own because I
couldn't find anything out there that uses JMS or RabbitMQ to do session
clustering (which actually surprised me a little) that had the virtual
cloud awareness I need. Everything I've read about Tomcat clustering
uses the Apache Tribes replication, which doesn't work for me under even
moderate load testing (maybe I'm just not doing right...I don't know) or
the centralized JDBCStore, which introduces a single point of failure. 

The basic idea here is to use RabbitMQ as the session clustering
back-end and have a user's session available to any server currently
subscribed to the clustering queue with no sticky sessions at all. This
(cross your fingers) gives me a very, very scalable clustering
architecture (my RabbitMQ servers are load-balanced and clustered using
VMware vms so I can add capacity at will) that doesn't suffer from the
single point of failure of a JDBCStore or the multicast limitations of
Apache Tribes. Sessions are also shared across points of responsibility,
too, as a single session object can be passed around from code running
inside a webapp to code in a command-line client. I wanted my session
handling to be a first-class virtual cloud citizen, rather than feel
like I'm shoe-horning existing code into what I want to do.

I'm almost finished with the heavy lifting. I should have a functioning
drop-in manager and store this week, which I'll put on my github
account. What I'd like to know is if there's any interest in the
community for something like this? If there's no interest, I won't
bother writing documentation and what-not.

Does this sound like it would interest any other Tomcat/RabbitMQ users?

Jon Brisbin
Portal Webmaster
NPC International, Inc.

rabbitmq-discuss mailing list
rabbitmq-discuss at lists.rabbitmq.com

More information about the rabbitmq-discuss mailing list