Java News from Thursday, February 5, 2009

The Apache Project has released Qpid M4, an open source, "cross platform enterprise messaging solution which implements the Advanced Message Queueing Protocol (http://www.amqp.org). It provides brokers written in Java and C++ and clients in C++, Java (including a JMS implementation), .Net, Python, and Ruby."

A couple of years ago when I was working on a now defunct search engine, we were using ActiveMQ to pass messages between the frontend and the backend. The system was unreliable, flaky, and hard to debug. It delivered exactly none of the reliability queues promised. In fact, quite the opposite. We eventually ripped it out and replaced it with straight HTTP which didn't promise reliability, but had the distinct adavntage of actually working. At the time I thought the problem was in the open source queue library we were using. I thought only big, expensive queue products for big iron actually worked; but that was before I started to talking to developers using those products and learned that the commercial queue servers were just as buggy, incomprehensible, unreliable, and failure prone as the open souce products we were using. The only difference was we were using our buggy, open source library for a startup that barely made w whimper when it shut down; and they were using their expensive, six-figure closed source products to run national banks and the like. However, their systems didn't actually work any better than ours did, which made me more than a little nervous about certain European economies.

Perhaps QPid is actually the first such product that will actually do what it promises. More likely there's something wrong with the whole design of network systems based on message queues, and we need to start developing alternatives.