什麼是 Cloud Pub/Sub?

Cloud Pub/Sub 可將企業訊息導向中介軟體的彈性及可靠性導入雲端。Cloud Pub/Sub 同時也是可擴充且耐用的事件擷取及提交系統,可作為現代串流數據分析管道的基礎。其中透過提供可分離傳送者與接收者的多對多非同步訊息傳遞功能,允許在獨立撰寫的應用程式之間進行安全及高可用性的通訊。Cloud Pub/Sub 提供低延遲且持久耐用的訊息傳遞功能,可協助開發人員快速整合在 Google Cloud Platform 中與外部託管的系統。

您是經驗豐富的訊息傳遞開發人員,並希望立即開始使用嗎? 請嘗試快速入門導覽課程。如需更詳盡的介紹,請參閱建立正常運作的 Cloud Pub/Sub 系統。其他常見的起點還有 Cloud Pub/Sub 說明文件總覽用戶端程式庫

核心概念

  • 主題:發佈者傳送訊息的目標具名資源。
  • 訂閱:表示從單一特定主題傳送至訂閱應用程式之訊息串流的具名資源。 如要進一步瞭解訂閱項目與訊息傳送語意,請參閱訂閱者指南
  • 訊息:發佈者傳送至主題並最終傳送至訂閱者之資料與 (選用) 屬性的組合。
  • 訊息屬性:發佈者可針對訊息定義的鍵/值組合。例如,可將 iana.org/language_tag 鍵與 en 值新增至訊息,以將其標示為可由英文訂閱者讀取。

發佈者訂閱者關係

發佈者應用程式可建立訊息,並將訊息傳送至「主題」。訂閱者應用程式可為主題建立「訂閱項目」,以從中接收訊息。通訊可以是一對多 (擴散傳遞功能)、多對一 (集中傳遞功能) 以及多對多。

Cloud Pub/Sub 訊息流程

以下總覽說明 Cloud Pub/Sub 系統元件,以及在元件之間傳送訊息的方式:

  1. 「發佈者」應用程式在 Cloud Pub/Sub 服務中建立「Topic」(主題),並將「Message」(訊息) 傳送至主題。訊息中包含酬載,以及說明酬載內容的選用「屬性」
  2. 此服務可確保代表訂閱保留已發佈的訊息。為訂閱保留已發佈的訊息,直到使用該訂閱訊息的任何訂閱者確認為止。
  3. Cloud Pub/Sub 會個別由主題轉送訊息至所有訂閱。每個訂閱會收到由 Cloud Pub/Sub「推送」至訂閱者選定端點的訊息,或是由訂閱者由服務「提取」訊息。
  4. 訂閱者會從訂閱接收待處理訊息,並向 Cloud Pub/Sub 服務確認每則訊息。
  5. 訊息由訂閱者確認之後,會從訂閱訊息佇列中移除。

發佈者與訂閱者端點

發佈者可以是可向 googleapis.com 提出 HTTPS 要求的任何應用程式:App Engine 應用程式、Google Compute Engine 或其他任何第三方網路代管的網路服務、電腦或行動裝置的已安裝應用程式,甚至瀏覽器。

提取訂閱者也可以是可向 googleapis.com 提出 HTTPS 要求的任何應用程式。

推送訂閱者必須是可透過 HTTPS 接受 POST 要求的 Webhook 端點。

常見用途

  • 平衡網路叢集中的工作負載。 例如,可在多個工作站 (例如 Google Compute Engine 執行個體) 之間有效分配大型工作佇列。
  • 實作非同步工作流程。 例如,訂單處理應用程式可在主題中訂購,以便一或多個工作站從主題中處理訂單。
  • 發佈事件通知。 例如,接受使用者註冊的服務可在新使用者註冊時傳送通知,而下游服務可訂閱以接收事件的通知。
  • 重新整理分散式快取。 例如,應用程式可發佈撤銷事件來更新已變更的物件 ID。
  • 記錄到多個系統。 例如,Google Compute Engine 執行個體可將記錄寫入到監控系統、寫入到資料庫以供日後查詢等。
  • 從各種程序或裝置串流資料。 例如,住宅感應器可將資料串流至雲端代管的後端伺服器。
  • 穩定性改善。 例如,單一區域 Compute Engine 服務可透過訂閱常見主題來在其他區域中操作,以復原區域或地區中的失敗情形。

Cloud Pub/Sub 整合

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Pub/Sub 說明文件