The AMQP debate continues
August 4, 2008
By Jeff Gould, CEO & Director of Research, Peerstone Research
I’m happy to report that my long post last week on the new enterprise messaging protocol AMQP has stirred up an interesting debate among members of the open source messaging community. Check out Bryan Che’s blog for a series of comments. Bryan works in product management at Red Hat overseeing the MRG project I mentioned in my original post (i.e. Red Hat’s productization of messaging, realtime and grid which includes the Apache Qpid implementation of AMQP). Thanks to Bryan for calling out my post.
The debate boils down to one issue: Has the AMQP spec grown so complex that it’s become too hard to implement? Given the freewheeling spirit of the open source software community, it comes as no surprise that opinions vary, even among people working closely together.
Tim Fox believes that the AMQP spec needs to be radically simplified to achieve wide implementation, perhaps by rolling it back to an earlier version. Interestingly enough, Tim also works on messaging for Red Hat, but not on the same messaging project as Bryan Che. In fact, thanks to Tim, I now understand that Red Hat is sponsoring two distinct open source messaging projects: (1) Red Hat Messaging, which is the Apache Qpid distro I mentioned above; and (2) JBoss Messaging, which will be the default JMS [Java Message Service] provider in the JBoss application server. Red Hat has obligingly provided a FAQ explaining the differences. Red Hat Messaging focuses on AMQP, offers both Java and C++ brokers, and is a stand-alone product that doesn’t presuppose JBoss. JBoss Messaging, on the other hand, although it will apparently implement some AMQP features, is pure Java and will be offered as part of the JBoss platform. Whether and to what extent the two projects might eventually merge is an open question.
Another very interesting comment from Pieter Hintjens of iMatix seconds the need for simplicity and calls for separating AMQP into a stack of sub-protocols that could be used independently of one another for various tasks. Hintjens was one of the original authors of the AMQP spec and provides a very clear exposition of what the protocol is supposed to do here. His firm iMatix sponsors the OpenAMQ implementation of AMQP.
Finally, AMQP’s founding genie John O’Hara himself weighs in, agreeing that yes the protocol should be layered, but within the same “conceptual framework.”
As an outside observer I’m frankly not qualified to say who is right in this debate. The fact that this discussion is happening at all is a pretty good testament to the health of open source messaging. And anyway, I doubt there is any strictly “right” or “wrong” view here – all sides agree that AMQP should follow the example of TCP/IP as a simple but powerful open protocol with multiple interoperable implementations. Getting there will be half the fun.







Reader Comments