您好,登錄后才能下訂單哦!
這篇文章給大家介紹kafka背景及架構如何理解,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
背景及架構介紹
一、 背景
什么是kafka呢,他是LinkedIn開發的一個分布式消息系統,用scala編寫的,可以水平擴展和高吞吐率。
原本開發自LinkedIn,用作他們的活動流和運營數據處理管道的基礎,之后被多家公司使用,慢慢發展壯大起來。
二、 簡單介紹
kafka是分布式的,基于發布/訂閱的消息系統。
1、 即使對TB級以上數據也能保證常數時間復雜度的訪問性能。
2、 高吞吐率:即使在非常廉價的商用機器上也能做到單機支持每秒100k條以上消息的傳輸。
3、 支持分區,消息分布式消費,但是只能保證每個partition內的消息順序傳輸。并且支持在線水平擴展。
為何使用消息中間件呢,大家肯定接觸過rabbitmq、activemq、redis等,估計有很多感觸。我就不詳細描述了,這個只能親身參加過大的技術架構,自己身在其中,并且感受到不用消息中間件和用的區別。
三、 架構
了解架構之前,我們先了解一下基本名詞。
Broker:安裝了kafka的服務器就是一個broker。
Topic:消息的類比,最好一類數據定一個topic去存儲傳輸。
Partition:分區,topic可以定分到幾個分區中。
Producer:發送消息,發送者。
Consumer:消費消息,消費者。
Consumer Group:每個Consumer屬于一個特定的Consumer Group。
從圖中來看,kafka集群包含若干個producer和consumer以及broker,還有一個zk集群。Producer通過push模式將數據發送到broker,Consumer通過pull模式拉取數據。
Producer發送消息到broker時,根據partition機制選擇分不到哪一個partition,設置合理的情況下,所有消息可
以均勻分不到不同的partition里,實現了負載均衡。
關于kafka背景及架構如何理解就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。