On 08/22/2012 05:40 PM, William Henry wrote:
I've posted a blog entry on my journey to AMQP 1.0 from 0.8 and what
I see as the power of AMQP 1.0. It is by no means an exhaustive
technical analysis and I hope to provide more technical posts later.
It addresses concerns some may have from moving from the attractive
exchanges/queues/bindings world of 0.8 to the 1.0 spec and nodes and
addresses.


I would love some feedback.


http://ipbabble.com/2012/08/the-journey-to-amqp-10-with-apache-qpid.html

Nice post, I particularly like the title! It has indeed been a journey and the Qpid community - all the users who have raised JIRAs, highlighted limitations of the software and earlier protocols, all the developers who have contributed features, patches and ideas - has been instrumental in getting AMQP to this very exciting point.

Change is unsettling, but it can also bring great benefits. I'm grateful that you persevered and glad you can now appreciate the greater power, flexibility and reach of the AMQP 1.0 model.

I was more ambivalent about exchanges than you. I felt that because they were the most visible and distinctive feature of early AMQP, they got too much attention at the expense of other important aspects of messaging.

In your post you write:

  "The real power of 0.8 was NOT in the exchanges but instead it
   was in the bindings - the routing [...]  the power of AMQP is
   that it is a really powerful router of messages"

I would argue that routing is one of the benefits of messaging intermediaries in general (along with store-and-forward capabilities). The power of AMQP is that it enables interoperability between different intermediaries and/or applications. This lets you construct your messaging network from diverse components which gives the system designer a richer more flexible set of tools.

I don't think we are disagreeing there, just providing slightly different emphasis.

Also:

  "The broker of 0.8 and it's exchanges, queues and bindings
   provided a brilliant and dynamic routing capability mainly
   through decoupling the sender from the endpoint."

The routing capabilities of early AMQP were actually fairly rudimentary and inflexible in my opinion. They also fell a little short in the decoupling since the destination you sent to dictated the only possible routing algorithm you could use for those messages. The shortcomings could be addressed by extensions, but I think 1.0 provides a far better foundation, standardising the simple patterns while allowing freedom for richer patterns to emerge.

I do agree that the addressing syntax as supported by the AMQP 0-10 implementation of the qpid::messaging API is at times a little complex and awkward. I think that was largely due to the fact that it was the control point for all bridging between the conceptual model of AMQP 1.0 and the 0-10 protocol which is actually used underneath.

Again, this was a stage in the journey we have travelled. We wanted simple things to be simple, more complex things to be possible and transition to 1.0 to be as painless as possible.

I am confident the mapping onto 1.0 will be much more direct, transparent and intuitive. I'm working on a 1.0 implementation of the API right now and will post more detail on that for comment as I make progress.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to