Site Archive (Complete)
Architecture Blog: The Advanced Message Queue Protocol (AMQP)
Architecture & Design
PATTERN LANGUAGE

Modeling, Managing, Making it Right.

by Jonathan Erickson
IF YOU BUILD IT

... Will they Come?

by Arnon Rotem-Gal-Oz
June 26, 2006

The Advanced Message Queue Protocol (AMQP)

The Transaction Workflow Innovation Standards Team (Twist) has just launched Version 0.8 of the Advanced Message Queue Protocol (AMQP), a proposed protocol for Messaging Middleware interoperability.

The main difference between AMQP and existing standard JMS is that JMS is an API standard, while AMQP is a binary standard. APIs such as the JMS API can be mapped to the AMQP commands which support very similar semantics. AMQP is an open standard and is the product of RedHat, JPMorgan, Iona, Cisco, and others.

AMQP is being drafted with performance and scalability in mind here is a short quote from the spec that demonstrates the scalability goals:

The scope of AMQP covers different levels of scale, roughly as follows:
  • Developer/casual use: 1 server, 1 user, 10 message queues, 1 message per second.
  • Production application: 2 servers, 10-100 users, 10-50 message queues, 10 messages per second (36K messages/hour).
  • Departmental mission critical application: 4 servers, 100-500 users, 50-100 message queues, 100 messages per second (360K/hour)
  • Regional mission critical application: 16 servers, 500-2,000 users, 100-500 message queues and topics, 1000 messages per second(3.6M/hour)
  • Global mission critical application: 64 servers, 2K-10K users, 500-1000 message queues and topics, 10,000 messages per second(36M/hour)
  • Market data (trading): 200 servers, 5K users, 10K topics, 100K messages per second (360M/hour)

As well as volume, the latency of message transfer can be highly important. For instance, market data becomes worthless very rapidly. Implementations may differentiate themselves by providing differing Quality of Service or Manageability Capabilities whilst remaining fully compliant with this specification.

(AMQP Spec 0.8).

The de facto "standard" today is Websphere MQ which controls about 80% of the messaging market -- the aim of AMQP is to commoditize messaging services by presenting an open standard (and cheap) binary protocol.

Although the spec version is 0.8 I think the standard is still in initial stages as more work is needed on several areas; for example, security and WS interoperability (which isn't addressed in the spec itself and mentioned briefly on the site). Nevertheless, AMQP looks promising and I hope it gains momentum in the industry. Specifically I hope Microsoft joins this effort to ensure platform interoperability -- the same way they (Microsoft and Sun) have done for Web-Services.

Posted by Arnon Rotem-Gal-Oz at 06:45 AM  Permalink




 
INFO-LINK


Related Sites: DotNetJunkies, SD Expo, SqlJunkies