Eric Evans <eev...@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