We use this same setup also and it works great. 


----- Reply message -----
From: "Laing, Michael" <michael.laing@nytimes.com>
To: <user@cassandra.apache.org>
Subject: Queuing System
Date: Sat, Feb 22, 2014 7:31 AM

We use RabbitMQ for queuing and Cassandra for persistence.

RabbitMQ with clustering and/or federation should meet your high availability needs.


On Sat, Feb 22, 2014 at 10:25 AM, DuyHai Doan <doanduyhai@gmail.com> wrote:

 Queue-like data structures are known to be one of the worst anti patterns for Cassandra: http://www.datastax.com/dev/blog/cassandra-anti-patterns-queues-and-queue-like-datasets

On Sat, Feb 22, 2014 at 4:03 PM, Jagan Ranganathan <jagan@zohocorp.com> wrote:

I need to decouple some of the work being processed from the user thread to provide better user experience. For that I need a queuing system with the following needs,
  • High Availability
  • No Data Loss
  • Better Performance.
Following are some libraries that were considered along with the limitation I see,
  • Redis - Data Loss
  • ZooKeeper - Not advised for Queue system.
  • TokyoCabinet/SQLite/LevelDB - of this Level DB seem to be performing better. With replication requirement, I probably have to look at Apache ActiveMQ+LevelDB.
After checking on the third option above, I kind of wonder if Cassandra with Leveled Compaction offer a similar system. Do you see any issues in such a usage or is there other better solutions available.

Will be great to get insights on this.