分層儲存 - Amazon Managed Streaming for Apache Kafka

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

分層儲存

分層儲存是 Amazon MSK 的低成本儲存層級,可擴展到幾乎無限制的儲存空間,讓建置串流資料應用程式具有成本效益。

您可以建立設定了分層儲存的 Amazon MSK 叢集,平衡效能和成本。Amazon MSK 會將串流資料儲存在效能最佳化的主要儲存層中,直到資料達到 Apache Kafka 主題保留期限為止。然後,Amazon MSK 會自動將資料移入新的低成本儲存層。

當您的應用程式開始從分層儲存讀取資料時,您可以預期前幾個位元組的讀取延遲會增加。當您開始從低成本儲存層依序讀取剩餘資料時,您可以預期與主要儲存層近似的延遲。您不需要針對低成本分層儲存佈建任何儲存,也不需要管理基礎設施。您可儲存任意數量的資料,只需按實際使用量付費。此功能與 KIP-405: Kafka Tiered Storage 中介紹的 API 相容。

以下為分層儲存的一些功能:

  • 您可以擴展到幾乎無限制的儲存空間。您不必了解如何擴展 Apache Kafka 基礎設施。

  • 您可以在 Apache Kafka 主題中將資料保留更長的時間,或增加主題儲存空間,而無需增加代理程式的數量。

  • 它提供了更長的持續時間安全緩衝區,以處理過程中的意外延遲。

  • 您可以使用現有的串流處理程式碼和 Kafka API,以舊資料的精確生產順序重新處理舊資料。

  • 由於次要儲存上的資料不需要跨代理程式磁碟進行複寫,因此分區重新平衡的速度會更快。

  • 代理程式與分層儲存之間的資料會在 VPC 內移動,不會透過網際網路傳輸。

  • 用戶端機器可以使用相同的程序連線至已啟用分層儲存的新叢集,就像連線到未啟用分層儲存的叢集一樣。請參閱建立用戶端機器

分層儲存要求

  • 您必須使用 Apache Kafka 用戶端 3.0.0 或更高版本,才能建立已啟用分層儲存的新主題。若要將現有主題轉換到分層儲存,您可以重新設定使用 3.0.0 以下版本 (支援的 Apache Kafka 最低版本為 2.8.2.tiered) Kafka 用戶端的用戶端機器,以啟用分層儲存。請參閱步驟 4:建立主題

  • 已啟用分層儲存的 Amazon MSK 叢集必須使用 3.6.0 或更高版本或 2.8.2 版。

分層儲存的限制

分層儲存具有下列限制:

  • 分層儲存僅適用於佈建類型叢集。

  • 階層式儲存不支援代理程式大小 t3.small。

  • 低成本儲存的最短保留期間為 3 天。主要儲存沒有最短保留期間。

  • 分層儲存不支援在代理程式上使用多日誌目錄 (JBOD 相關功能)。

  • 分層儲存不支援壓縮的主題。確保所有已開啟分層儲存主題都已將 cleanup.policy 設定為「DELETE」。

  • 分層儲存可針對個別主題停用,但不能在整個叢集停用。停用後,就無法針對主題重新啟用分層儲存。

  • 如果您使用的是 Amazon MSK 2.8.2 版本,則只能遷移到另一個支援階層儲存體的 Apache Kafka 版本。如果您不想繼續使用支援分層儲存的版本,請建立新的 MSK 叢集並將資料移轉至該叢集。

  • 此工 kafka-log-dirs 具無法報告階層式儲存資料大小。此工具只會報告主要儲存中的日誌區段大小。