Kafka-硬件的選擇


Kafka-硬件的選擇

磁盤吞吐量(重要,影響生產者)

生產者客戶端的性能直接受到服務器端磁盤吞吐量的影響。

生產者生成的消息必須被提交到服務器保存,大多數客戶端在發送消息后會一直等待,直到至少一個服務器確認消息已經成功提交為止。

磁盤寫入速度越快,生成消息的延遲就越低。

磁盤容量(制約集群規模)

需要多大的磁盤容量取決於需要保留的消息數量,也需要考慮集群復制策略的影響。

通過讓主題擁有多個分區,集群的總流量可以被均衡到整個集群。

內存(重要,影響消費者)

消費者一般從分區尾部讀取消息,如果有生產者存在,就緊跟在生產者后面。這種情況下,消費者讀取的消息會直接存放在系統的頁面緩存里,這比從磁盤上重新讀取要快得多。

運行kafkaJVM不需要太大的內存,剩余的系統內存可以用作頁面緩存,或者用來緩存正在使用中的日志片段。

所以,不建議把kafka同其他重要的應用程序部署在一起,它們需要共享頁面緩存,最終會降低kafka消費者的性能。

網絡(制約集群規模)

網絡吞吐量決定了kafka能夠處理的最大數據流量。

網絡吞吐量和磁盤存儲是制約kafka擴展規模的主要因素。

kafka支持多個消費者,造成流入和流出的網絡流量不平衡,從而讓情況變得更加復雜。集群復制和鏡像也會占用網絡流量。如果網絡接口出現飽和,那么集群的復制出現延時就在所難免。

CPU(不重要)

與磁盤和內存相比,kafka對計算處理能力的要求相對較低,不過在一定程度上還是會影響整體的性能。

客戶端為了優化網絡和磁盤空間,會對消息進行壓縮。服務器需要對消息進行批量解壓,設置偏移量,然后重新進行批量壓縮,再保存到磁盤上。這就是kafka對計算處理能力有所要求的地方。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM