本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon MSK叢集的分層儲存
分層儲存是 Amazon 的低成本儲存層MSK,可擴展到幾乎無限制的儲存,因此建置串流資料應用程式具有成本效益。
您可以建立 Amazon MSK叢集,以平衡效能和成本的分層儲存進行設定。Amazon 會將串流資料MSK存放在效能最佳化的主要儲存層中,直到達到 Apache Kafka 主題保留限制為止。然後,Amazon MSK會自動將資料移至新的低成本儲存層。
當您的應用程式開始從分層儲存讀取資料時,您可以預期前幾個位元組的讀取延遲會增加。當您開始從低成本儲存層依序讀取剩餘資料時,您可以預期與主要儲存層近似的延遲。您不需要針對低成本分層儲存佈建任何儲存,也不需要管理基礎設施。您可儲存任意數量的資料,只需按實際使用量付費。此功能與 KIP-405:Kafka 分層儲存
以下為分層儲存的一些功能:
-
您可以擴展到幾乎無限制的儲存空間。您不必了解如何擴展 Apache Kafka 基礎設施。
-
您可以在 Apache Kafka 主題中將資料保留更長的時間,或增加主題儲存空間,而無需增加代理程式的數量。
-
它提供了更長的持續時間安全緩衝區,以處理過程中的意外延遲。
-
您可以使用現有的串流處理程式碼和 Kafka ,以其確切的生產順序重新處理舊資料APIs。
-
由於次要儲存上的資料不需要跨代理程式磁碟進行複寫,因此分區重新平衡的速度會更快。
-
代理程式與分層儲存之間的資料會在 內移動,VPC不會透過網際網路傳輸。
-
用戶端機器可以使用相同的程序連線至已啟用分層儲存的新叢集,就像連線到未啟用分層儲存的叢集一樣。請參閱建立用戶端機器。
Amazon MSK叢集的分層儲存需求
-
您必須使用 Apache Kafka 用戶端 3.0.0 或更高版本,才能建立已啟用分層儲存的新主題。若要將現有主題轉換到分層儲存,您可以重新設定使用 3.0.0 以下版本 (支援的 Apache Kafka 最低版本為 2.8.2.tiered) Kafka 用戶端的用戶端機器,以啟用分層儲存。請參閱 步驟 4:在 Amazon MSK叢集中建立主題。
-
已啟用分層儲存的 Amazon MSK叢集必須使用 3.6.0 或更新版本,或 2.8.2.tiered。
Amazon MSK叢集的分層儲存限制和約束
分層儲存具有下列限制:
除非應用程式主動使用交易功能MSK,否則請確保用戶端在從 Amazon 中的 remote_tier 讀取
read_committed
時未設定為 。-
分層儲存不適用於 AWS GovCloud (美國) 區域。
分層儲存僅適用於佈建類型叢集。
-
分層儲存不支援代理程式大小 t3.small。
-
低成本儲存的最短保留期間為 3 天。主要儲存沒有最短保留期間。
-
分層儲存不支援代理程式上的多個日誌目錄 (JBOD 相關功能)。
-
分層儲存不支援壓縮的主題。確保開啟分層儲存的所有主題都已將其 cleanup.policy 設定為僅限 'DELETE'。
-
分層儲存可針對個別主題停用,但不能在整個叢集停用。停用後,就無法針對主題重新啟用分層儲存。
如果您使用 Amazon 2.8.2.tiered MSK版,您只能遷移至另一個分層儲存支援 Apache Kafka 版本。如果您不想繼續使用分層儲存支援版本,請建立新的MSK叢集,並將資料遷移到其中。
-
kafka-log-dirs 工具無法報告分層儲存資料大小。此工具只會報告主要儲存中的日誌區段大小。