AMQP isÂ an open messaging protocol intended to support the high-volume, high-reliabilityÂ applications
used in the financial and telecoms industries (among others). Some might see it as the next natural layer to
go on top of TCP/IP – that’s as close as I can get to describing it in a single phrase, anyway.
This article aboutÂ itÂ is quite illuminating:
The author is John O’Hara, principal instigator of AMQP and distinguished engineer at JP Morgan, who
actually use AMQP-based software for production applications. (Given the ludicrously demanding environment of
investment banking, this use-case tells its own story regarding the maturity and reliability of the protocol.)
The articleÂ gives a veryÂ readable description ofÂ AMQP, the design ideas that went into it, and the
current state of play as regards available implementations and likely adoption/usage scenarios. To pick a few stand-out points:
(*) Considerable thought has gone into designing the protocol for maximum flexibility, interoperability with existing systems,
and ease of adoption. As Mr O’Hara comments, the only “political constraint” (i.e. expedient holdover)Â that went into the design was compatibility with the already popular JMS messaging standard.
(*) A central idea of AMQP is to decouple the transport and queueing model. The article describes an extended analogy
with a nationwide postal service. Outgoing messages, adornedÂ withÂ headers, correspond to labelled envelopes.Â Exchanges
correspond to postboxes acting as a front end toÂ configurable sorting/delivery systems. Queues correspond to holding areas
whereÂ mail isÂ stored for theÂ addressee to collect. All the machinery in between is user-definable and can be dynamically reconfigured.
(*) There are already several “industry strength” open-source broker/client implementations available. The article describes
some plausible, low-risk ways for organizations to experiment with AMQP using these.
(*) A particularly promising development is that the widely used trading protocol FIX may well use AMQP as an underlying transportÂ in its next version. This is an attractive route for the FIX community because of perceived deficiencies in the currently implementedÂ session layer. At a stroke, this would validate AMQP as a next-generation messaging standard and accelerate its
adoption by the financial services industry.