activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiram Chirino" <hi...@hiramchirino.com>
Subject KahaDB Protocol Buffers and the future of ActiveMQ
Date Thu, 02 Oct 2008 14:18:36 GMT
Hi Guys,

I've lately been working a new persistence store in the sandbox.  You
guys can check it out at:
https://svn.apache.org/repos/asf/activemq/sandbox/kahadb

It's similar to the default AMQ store that is used by default today in
ActiveMQ 5.x, except that it fixes several short commings that we have
noticed in in the AMQ store.  This new store uses a transaction log,
but indexes the messages using BTrees which stay consistent on
restarts which means that store recovery times are very short even
when there are many messages stored in the database. This work is
approaching a stable point and I think that this should become the
default message store for ActiveMQ 6.0.  We need to start beating on
this to make sure it's rock solid.

While doing this bit of work, I decided to experiment with using
Google protocol buffers to encode the transaction log records and it
seems to have worked out well.  I think that we should
research/evaluate using protocol buffer based default wire format for
ActiveMQ.   In addition to being able to code generate marshallers for
many languages, I think we may get some substantial performance
improvements from using protocol buffers.  So I'm going to create a
new branch in the sandbox to experiment with changing out the
wireformat.  Hopefully, the performance gains do manifest themselves
and we can work on merging those changes back to trunk.

But then this would impact ActiveMQ .NET and CPP....  So I'd be good
if the .NET and CPP folks could comment on what they think of the
google protocol buffer stuff that is available for their languages.

-- 
Regards,
Hiram

Blog: http://hiramchirino.com

Open Source SOA
http://open.iona.com

Mime
View raw message