cassandra-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Bjorn Borud <bbo...@gmail.com>
Subject Re: State Of: CQL - driver devs
Date Thu, 31 Mar 2011 11:56:52 GMT
Eric Evans <eevans@rackspace.com> writes:

> (Hopefully )for the next version, we'll replace Thrift with a dedicated
> protocol, one that eliminates the Thrift dependency, and more
> importantly, implements streaming.  This should be transparent to
> applications for the most part though.

pardon my ignorance, is there a JIRA issue for this or a wiki page that
describes this?  I'd be very interested in reading up a bit about this.

I've been using Netty lately to implement a protocol for streaming
messages and I've had quite good results.  I used the varint framing
codec that comes with Netty in conjunction with protobuffers.  the
performance is quite good.  on my laptop I was able to push 400k+
messages per second from the client to the server on a warm JVM and
about 350k messages per second on a cold JVM.  cursory measurements seem
to indicate that serializing protobuffer messages was more expensive
than de-serializing them.

I like the Netty API.  I was going to use my own, minimal NIO library
(just a simple implementation of the Reactor Pattern), but after playing
with Netty for a bit I decided that I'd be much better off using that.

a bonus is that adding encryption, compression etc to a pipeline appears
to be relatively easy with Netty.  I think it would make sense to just
implement the new protocol as a Netty codec.

(Originally I tried Apache MINA, but I got a tip from a colleague that
development on Netty is more active.  I haven't really compared the two
projects thoroughly enough to have an opinion on this).

-Bjørn


Mime
View raw message