TR-4947:使用NetApp NFS 儲存的 Apache Kafka 工作負載 - 功能驗證與效能
Shantanu Chakole、Karthikeyan Nagalingam 和 Joe Scott, NetApp
Kafka 是一個分散式發布-訂閱訊息系統,具有強大的佇列,可以接受大量訊息資料。使用 Kafka,應用程式可以非常快速地向主題寫入和讀取資料。由於其容錯性和可擴展性,Kafka 經常被用在大數據領域,作為一種可靠的方式來快速提取和移動大量資料流。使用案例包括串流處理、網站活動追蹤、指標收集和監控、日誌聚合、即時分析等。
儘管 NFS 上的正常 Kafka 操作運作良好,但在 NFS 上執行的 Kafka 叢集調整大小或重新分割期間,愚蠢的重命名問題會導致應用程式崩潰。這是一個重大問題,因為必須調整 Kafka 叢集的大小或重新分區以實現負載平衡或維護目的。您可以找到更多詳細信息 "這裡"。
本文檔描述了以下主題:
-
愚蠢的重命名問題和解決方案驗證
-
降低 CPU 使用率以減少 I/O 等待時間
-
更快的 Kafka 代理程式恢復時間
-
雲端和本地的效能
為什麼使用 NFS 儲存來儲存 Kafka 工作負載?
生產應用程式中的 Kafka 工作負載可以在應用程式之間傳輸大量資料。這些資料保存並儲存在 Kafka 叢集中的 Kafka 代理節點中。 Kafka 也以可用性和並行性而聞名,它透過將主題分成多個分區,然後在整個叢集中複製這些分區來實現。這最終意味著流經 Kafka 群集的大量資料通常會倍增。隨著代理數量的變化,NFS 可以非常快速且輕鬆地重新平衡資料。對於大型環境,當代理數量發生變化時,跨 DAS 重新平衡資料非常耗時,並且在大多數 Kafka 環境中,代理數量經常會發生變化。
其他好處包括:
-
*到期。 * NFS 是一種成熟的協議,這意味著它的實現、保護和使用的大多數方面都已被很好地理解。
-
*打開。 * NFS 是一個開放協議,其持續發展在互聯網規範中被記錄為一個自由開放的網路協議。
-
*具有成本效益。 * NFS 是一種低成本的網路檔案共用解決方案,由於它使用現有的網路基礎設施,因此易於設定。
-
*集中管理。 * NFS 的集中管理減少了單一使用者係統上新增軟體和磁碟空間的需求。
-
*分散式。 * NFS 可用作分散式檔案系統,減少可移動媒體儲存設備的需求。
為什麼選擇NetApp來處理 Kafka 工作負載?
NetApp NFS 實施被認為是該協議的黃金標準,並應用於無數企業 NAS 環境。除了NetApp的信譽之外,它還提供以下優勢:
-
可靠性和效率
-
可擴充性和效能
-
高可用性( NetApp ONTAP叢集中的 HA 合作夥伴)
-
資料保護
-
災難復原(NetApp SnapMirror)。 *您的網站癱瘓了,或者您想從另一個網站開始並從上次中斷的地方繼續。
-
儲存系統的可管理性(使用NetApp OnCommand進行管理)。
-
*負載平衡。 *此叢集可讓您從託管在不同節點上的資料 LIF 存取不同的磁碟區。
-
*無中斷運作。 * LIF 或磁碟區移動對於 NFS 用戶端來說是透明的。
-