訊息佇列選型 Kafka 如何實現高效能?

2021-10-09 22:19:33 字數 543 閱讀 8919

訊息佇列中應用最廣泛的 kafka 和 rocketmq

不知道你有沒有了解過自己電腦的配置?

我們一般會認為高效能是和高配置聯絡在一起的,比如大記憶體比小記憶體快,8 核的機器比 4 核的機器快。我身邊也有一些朋友是攢機愛好者,對各種硬體配置如數家珍。

對於伺服器來說,家用電腦的效能與配置的關係也同樣適用——**更昂貴的伺服器會有更好的效能——這並不是一件需要大張旗鼓去講述的事情。但 kafka 所實現的高效能不需要太高配置的機器,它使用普通伺服器就能實現 tb 級別的傳輸效能。這一點也是 kafka 對外宣傳的乙個特性,也正是因為這一點,kafka 被廣泛運用於大資料處理、流式計算、各類日誌監控等需要處理海量資料的場景。

kafka 實現高效能的手段,是面試中經常被問到的問題。下面我從 kafka 的磁碟讀寫、批量優化、零拷貝等方面,對 kafka 的高效能特性進行分析。

分析 kafka 的高效能會涉及作業系統的一些知識,比如檔案系統、pagecache等,作為大學計算機專業的必修課,這些概念就不展開了。如果你覺得這方面比較生疏,可以回顧下作業系統課程的相關知識,找一些經典教材來學習。

訊息佇列 訊息佇列 kafka

kafka是乙個分布式的基於發布 訂閱模式的訊息佇列,主要用於大資料實時處理領域。要理解kafka首先要有分布式的概念,要有訊息佇列的概念。分布式系統最大的優勢就是解耦和削峰,這種情況下,a系統生成了乙個訊息,b系統非同步獲取,那麼就需要乙個存放訊息的訊息佇列 mq 相比較傳統的訊息佇列,訊息被消費...

Kafka 訊息佇列如何保證順序性?

主要思路 相同key值的訊息寫入同乙個partition partition內的訊息是有序的 乙個partition的訊息只會被乙個消費者消費。如果乙個消費者是多個執行緒消費,則需要把pull來的訊息按照key值寫入不同的記憶體佇列中,相同key值的訊息寫入同乙個記憶體佇列 記憶體佇列內的訊息是有序...

訊息佇列 Kafka學習

kafka是乙個分布式的訊息佇列,學習見apache kafka文件,中文翻譯見kafka分享,乙個簡單的入門例子見kafka 入門例項。本文只針對自己感興趣的點記錄下。producer consumer 訊息的生成者和使用者。broker kafka server充當broker角色,起到訊息佇列...