If performance and availability for messaging is a requirement then use Apache Kafka http://kafka.apache.org/
You can pass the same thrift/avro objects through the Kafka commit log or strings or whatever you want. /******************************************* Joe Stein Founder, Principal Consultant Big Data Open Source Security LLC http://www.stealth.ly Twitter: @allthingshadoop ********************************************/ On Feb 22, 2014, at 11:13 AM, Jagan Ranganathan <ja...@zohocorp.com> wrote: > Hi Michael, > > Yes I am planning to use RabbitMQ for my messaging system. But I wonder which > will give better performance if writing directly into Rabbit with Ack support > Vs a temporary Queue in Cassandra first and then dequeue and publish in > Rabbit. > > Complexities involving - Handling scenarios like Rabbit Connection failure > etc Vs Cassandra write performance and replication with hinted handoff > support etc, makes me wonder if this is a better path. > > Regards, > Jagan > > ---- On Sat, 22 Feb 2014 21:01:14 +0530 Michael Laing > <michael.la...@nytimes.com> wrote ---- > > We use RabbitMQ for queuing and Cassandra for persistence. > > RabbitMQ with clustering and/or federation should meet your high availability > needs. > > Michael > > > On Sat, Feb 22, 2014 at 10:25 AM, DuyHai Doan <doanduy...@gmail.com> wrote: > Jagan > > 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 <ja...@zohocorp.com> wrote: > Hi, > > 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. > > Regards, > Jagan > > >