使用案例

使用 ActiveMQ Classic > 使用案例

訊息傳遞是一個多元且廣泛的主題 - 有許多不同的使用案例、需求和部署選項。這也是在 (smile) 上工作如此有趣的原因之一。

本文試圖強調我們嘗試使用 ActiveMQ 解決的一些主要使用案例。

事務性訊息傳遞

此使用案例側重於事務性、持久性、永不遺失訊息,以及無論系統故障如何,都能精確處理每則訊息一次。

通常,JMS 連接將以 XA 方式與其他 JMS 連接或其他 XA 資源(如 JDBC / EJB 等)一起使用。

需要伺服器來進行持久化,可能需要伺服器叢集來提高可用性。伺服器的高可用性是一個額外的優勢。

通常,如果任何節點離線,則所有訊息都將被保留,以便在節點重新上線時使用。

高效能市場數據分發

此使用案例側重於吞吐量和高效路由。其想法是在大型網路上盡快分發大量快速變化的數據。

通常,吞吐量和效能是關鍵 - 因為數據量和變化率非常高,因此很少使用持久化,並且在發生故障時遺失訊息通常是可以接受的,因為舊數據通常不是必要的,最新的價格才是重要的。

叢集和通用異步訊息傳遞模型

此使用案例側重於延遲和速度。

在實作基於 Web 或 EJB 的叢集時,目標是維護節點叢集,通常使用多播進行探索和保持活動,然後使用直接套接字連接在夥伴之間有效率地通信。 請參閱 ActiveCluster,以取得此叢集模型的範例 API 和實作。

這類似於將 JMS 提供者用作 EJB 式或 WS 式服務中的 RMI 層 - 也可能最終主要使用多播進行探索和直接套接字進行通信,以最大限度地減少延遲。也就是說,不是在客戶端之間設置單獨的伺服器,而是客戶端直接相互通信以減少延遲。

Web 數據串流

此使用案例側重於 ActiveMQ Classic 中的 Ajax 支援。

越來越多的人希望將數據即時串流到 Web 瀏覽器中。例如,串流金融股票價格、顯示即時 IM 對話、即時拍賣或動態更新即時內容和新聞。

在此使用案例中,我們將 ActiveMQ Classic 整合到 Web 容器中,並提供緊密的 Web 整合,以啟用 HTTP POST 發布訊息和緩慢的 JavaScript HTTP GET 操作來接收訊息。

使用 HTTP 的訊息傳遞 RESTful API

此使用案例側重於連線能力以及跨語言和跨技術連線能力。

我們可以為訊息代理提供 HTTP 介面,允許使用簡單的跨語言和技術無關的 API 來發布或接收訊息。若要傳送訊息,請使用 HTTP POST 將其傳送到訊息代理;若要接收訊息,請使用 HTTP GET 取得它。使用 URI 和請求參數來表示目標。

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛標誌和 Apache ActiveMQ 專案標誌是 Apache 軟體基金會的商標。 版權所有 © 2024,Apache 軟體基金會。 依 Apache License 2.0 授權。