2011-12-09 48 views
2

我對AMQP 0-9-1實現閱讀RabbitMQ的規範和隨後沿着從其中講解交流和隊列有用的教程頁面的例子。 的AMQP規範v的新最新的主要版本1.0已經出了兩個月,根據維基百科的文章 http://en.wikipedia.org/wiki/Advanced_Message_Queuing_Protocol#Specification_revisions_and_the_future_of_AMQPAMQP V.1.0交換定義缺失

Exchange和扇出/直接/話題綁定的定義將被刪除。下面是V1.0 http://www.amqp.org/confluence/download/attachments/720900/amqp.pdf?version=1&modificationDate=1318011006000

我一直在閱讀完整的V1.0規範,但它是非常技術性的完整規格,有它如何在例如生產者和消費者的情景中使用沒有通用的解釋應用程序或它與0-10的不同之處,以及如何將舊的綁定和交換概念與新的綁定和交換概念相關聯。

可能有人請我解釋這一切的Exchange功能在新的協議如何適應。或者更好的是,一個更簡單和麪向示例的協議解釋將會有所幫助。

+0

邊注:RabbitMQ的行動(http://www.manning.com/videla/)的早期試用版是很值得一讀,如果你想加快速度很快上的RabbitMQ。 – TrueWill

回答

2

AMQP 1.0在當前狀態下不指定代理行爲(即經紀人如何處理和分發messaages),在AMQP網絡2個節點只如何他們自我之間進行通信。有一個名爲「經紀人行爲」的文檔草案旨在說明這一領域,但它處於非常早期的階段,因爲到目前爲止,1.0的活動大部分都集中在覈心協議規範上。所以你可以說,在某些方面,1.0指定的比舊的0.x版本低很多

因此,直到規範的「代理行爲」部分達到至少一些成熟度,纔會想出1.0的例子將相當於發佈以交換和訂閱它,因爲不同的amqp 1.0實體可以完全不同地實現它。很可能,許多amqp供應商會對其0.9產品實施類似的行爲。例如RabbitMQ實驗性1.0實現提供了對其現有0.9代理的1.0訪問權限。但那只是我的猜測。 Here are my some other thoughts about current state of AMQP 1.0

+0

我想知道爲什麼規範沒有這些規範。順便說一句,我認爲RabbitMQ最新的一個是0-10(我意識到1.0和1.0不一樣)。所以節點本質上會向對方發送消息,並且每個想要發送消息的設備都必須是節點本身? – ArmenB

+0

是0.10是(不是很流行)0.9x協議版本的迭代,而1.0是完全不同的野獸。 –

+0

我也認爲1.0需要描述經紀人的行爲,以便得到更廣泛的接受,並替代0.9x家庭。據我所知,AMQP小組希望首先關注協議的核心,然後再研究行爲。無論如何,我們必須看到,現在協議的核心已經完成,經紀行爲的工作是否會開始升溫。 –