博客 / 詳情

返回

SAP Event Mesh 簡介

Get Started with Messaging for Decoupled Communication

Step 1: What is the SAP Event Mesh service?

SAP Event Mesh 是一種完全託管的服務,用於連接應用程序、服務和系統,以便它們可以通過消息和事件相互交互。

它通過引入中央消息代理取代了傳統的點對點通信。 雖然點對點通信適用於在有限數量的發送方和接收方之間共享數據,但可擴展性很快就會成為一個問題。 SAP Event Mesh 解決了這個問題,並確保可以在發送方和多個接收方之間大規模可靠地交換消息。

此外,通過引入消息代理,您可以解耦應用程序、服務和系統之間的通信,以便可以異步(非阻塞)發送消息。 異步通信提高了性能和可擴展性,因為發送方在等待單個接收方在線接收直接消息時不會減慢或阻塞。

由於 SAP Event Mesh 負責消息傳遞,因此發送方無需知道哪些應用程序、服務或系統將接收哪些數據。

發送應用程序不會因等待來自接收方的非關鍵響應而減慢,這些接收方可能處於離線狀態並且無法在消息發佈時接收和響應消息。

接收應用程序可以訂閲具有業務重要性的消息並確保接收所有相關更新,並且可以按照自己的節奏使用這些消息。

SAP Event Mesh 的使用場景

  • 解耦:遠程和異步通信。
  • 集成:不同編程語言/環境和系統之間的通用翻譯器。
  • 可靠性:根據不同的服務質量級別確保消息傳遞,並充當生產者和消費者之間的中介。
  • 高容量:消息代理彈性支持高度可擴展的通信用例。
  • 事件驅動架構:跨系統和環境邊界分發事件,並基於不同的 SAP 後端系統為事件驅動架構提供支持。

這些用例建立在 SAP Event Mesh 的哪些特性和特徵之上?

  • 大規模可靠通信
  • 無縫連接應用程序、系統和服務
  • 解耦通信以獲得更大的可擴展性
  • 提供彈性以處理意外的數據流量高峯
  • 在雲中傳輸、管理和使用事件
  • 確保基於標準的無縫集成

Protocols and libraries

SAP Event Mesh 支持標準消息傳遞協議,以跨混合環境連接應用程序、服務和系統。

WebSocket 上的高級消息傳遞隊列協議 (Advanced Messaging Queuing Protocol, AMQP) 1.0 是用於應用程序或組織之間消息傳遞的開放標準協議。 AMQP 的定義特性是面向消息、排隊、路由(包括點對點和發佈訂閲)、可靠性和安全性。

基於 WebSocket 的消息隊列遙測傳輸 (Message Queuing Telemetry Transport, MQTT) 3.1.1 是一種輕量級消息傳遞協議,專為低帶寬、高延遲而設計。 這是未在雲中運行的應用程序使用的推薦協議。

HTTP 1.1 REST 支持允許使用 REST API 公開消息傳遞功能。可以通過 HTTP REST 調用將消息發佈到隊列和主題中並從隊列和主題中使用。

您可以通過 WebSocket 庫和 MQTT 3.1.1 使用 AMQP 1.0。 通過用於 node.js 的 WebSocket 庫。 SAP Event Mesh 還支持協議無關的庫,這些庫可用於 Java 和 Node.js 的應用程序配置級別。

Messaging concepts

Queues

隊列是集合中的實體有序排列的集合,對隊列的主要操作是向後終端位置添加實體和從前終端位置移除實體。

SAP Event Mesh 使應用程序能夠通過消息隊列相互通信。 發送應用程序將消息發送到特定的命名隊列。 接收應用程序與其隊列之間存在一一對應的關係。 消息隊列會保留消息,直到接收應用程序使用它。 您可以使用 SAP Event Mesh 儀表板管理這些隊列。

Topics

主題被命名為向其發佈消息的邏輯通道。 基於主題的系統中的訂閲者接收發布到他們訂閲的主題的所有消息。 主題的所有訂閲者都會收到他們自己的同一消息的副本。

SAP Event Mesh 使發送應用程序能夠將消息和事件發佈到主題。 應用程序必須訂閲該主題並在發送消息時處於活動狀態。 主題不保留消息。 當每個消息需要被多個接收應用程序使用時,可以使用此方法。

Queue Subscriptions

通過隊列訂閲,SAP Event Mesh 使發送應用程序能夠將消息發佈到主題。 主題將消息直接發送到它所綁定的隊列。 例如,來自 SAP S/4HANA 系統(事件源)的事件只能發送到一個主題。 隊列訂閲確保消息被保留,直到它被接收應用程序使用。

Message Client

消息客户端允許您使用其自己的唯一憑據連接到 SAP Event Mesh 服務以發送和接收消息。 客户端可以在 SAP 業務技術平台內部或外部運行。

您可以創建多個消息客户端,這些客户端可以通過一組憑據進行區分,這些憑據由命名空間和連接規則組成,這些規則定義了消息客户端可以向其發送和接收消息的隊列或主題列表。

命名空間是一個唯一的前綴,它定義了在特定消息客户端的上下文中創建的所有隊列或主題。 在 SAP Event Mesh 中管理隊列或主題時,命名空間允許消息客户端識別用於通信的隊列或主題。

更多Jerry的原創文章,盡在:"汪子熙":

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.