wiki:wade/messageQueue

Version 10 (modified by wade, 16 years ago) (diff)

--

概念

為了能讓分散的電腦之間的應用程式能互相交換大量、非同步訊息,如果訊息接收端離線或暫時無法接收檔案,則系統必須能讓訊息在接收端上線時被接收。

系統需求:

  • 必須保證資料能完整到達。
  • 傳送資訊必須保密。
  • 不能佔用太多系統效能,且能持續擴充使用者和訊息。
  • 系統必須夠穩定,且有足夠的容錯性保持資料傳輸。
  • 系統必須提供監視及管理訊息工具及錯誤回報功能。



Advance Message Queuing Protocol (AMQP)

AMQP 是一個網路通訊協定,為了使 client 能透過一個中介軟體來互相傳遞訊息。

AMQP MODEL 三種連接方式

  • Exchange: 由 publisher applications 接收訊息且訊息發送到 message queues,一般都是傳送訊息屬性及內容。
  • Message queue: 用來儲存訊息,直到這些訊息能安全的被 client 處理。
  • Binding: 定義 message queue 、 exchange 的關係,並且是供訊息傳送的準則。

AMQP Protocol

Model layer messages、queues、exchanges、access control、transactions、data types 這個層級定義了給 application 使用的指令



專有名詞

  • MOM 「Message-Oriented Middleware」 訊息導向中介軟體:client/server 架構式的訊息傳遞。
  • AMQP 「Advance Message Queuing Protocol」
  • JMS 「Java Message Service」

Reference