RabbitMQ - 概述



RabbitMQ 是什麼?

RabbitMQ 是用 Java 編寫的一個開源訊息代理。它完全符合 JMS 1.1 標準。由 Apache 軟體基金會開發和維護,並根據 Apache 許可證獲得授權。它為企業級訊息應用程式提供高可用性、可擴充套件性、可靠性、效能和安全性。

JMS 是一個允許開發基於訊息的系統的規範。RabbitMQ 充當訊息的代理,它位於應用程式之間,允許它們以非同步和可靠的方式進行通訊。

AMQ

訊息型別

以下解釋兩種型別的訊息傳遞選項,以便更好地理解。

點對點

在此類通訊中,代理僅向一個消費者傳送訊息,而其他消費者將一直等待,直到它們從代理中獲取訊息為止。沒有消費者會收到相同的訊息。

如果沒有消費者,代理將持有訊息,直到它得到一個消費者。此類通訊也被稱為基於佇列的通訊,其中 Producer 將訊息傳送到佇列,而只有一個 Consumer 從佇列中獲取一條訊息。如果有多個消費者,它們可能會收到下一條訊息,但它們不會像其他消費者一樣收到相同的訊息。

Point to Point Messaging

釋出/訂閱

在此類通訊中,代理將同一份訊息傳送到所有活動消費者。此類通訊也稱為基於主題的通訊,其中代理將相同的訊息傳送到訂閱了特定主題的所有活動消費者。此模型支援單向通訊,其中不需要對傳輸的訊息進行驗證。

Publish/Subscribe Messaging
廣告
© . All rights reserved.