如果您使用 Pub/Sub 發布大量資料的訊息,可以先使用 gRPC 壓縮資料,再由發布端用戶端傳送發布要求,藉此節省網路費用。gRPC 的 Pub/Sub 壓縮功能使用 Gzip 演算法。
本文提供壓縮發布至主題的訊息相關資訊。
關於壓縮訊息
使用 gRPC 用戶端壓縮功能時的壓縮比會因發布商用戶端而異,並取決於下列因素:
資料量:當酬載大小從幾百位元組增加到幾千位元組的資料時,壓縮比會有所提升。發布要求的批次設定會決定每個發布要求中包含的資料量。建議您開啟批次設定並搭配 gRPC 壓縮功能,以獲得最佳成效。
資料類型。與圖片等二進位資料相比,JSON 或 XML 等文字資料更容易壓縮。
如果發布商用戶端使用 Trusted Cloud,您可以透過「傳送的位元組數」 (instance/network/sent_bytes_count
) 指標,以位元組為單位衡量發布處理量。如果發布商用戶端位於其他應用程式,您必須使用用戶端專屬工具進行評估。
本節中的程式碼範例會顯示 Java 用戶端程式庫程式碼片段範例,其中也包含 gRPC 壓縮。
事前準備
設定發布工作流程前,請務必完成下列工作:
必要的角色
如要取得壓縮訊息所需的權限,請要求管理員為您授予主題的 Pub/Sub 發布者 (roles/pubsub.publisher
) 身分與存取權管理角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
您需要其他權限,才能建立或更新主題和訂閱項目。
壓縮訊息
C++
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 C++ 設定操作說明進行操作。詳情請參閱 Pub/Sub C++ API 參考說明文件。
Java
在試用這個範例之前,請先按照快速入門:使用用戶端程式庫中的 Java 設定操作說明進行操作。詳情請參閱 Pub/Sub Java API 參考說明文件。
後續步驟
如要瞭解如何設定進階發布選項,請參閱下列文章: