快速入門kafka③ kafka優點及技術架構

Kafka優點

    可靠性強:分佈式的,分區,複製和容錯
    可擴展性:無需停機進行擴展。
    耐用性:消息會盡可能快速的保存在磁盤上,持久化。
    性能高:對於發佈和定於消息都具有高吞吐量,保證零停機和零數據丟失

Kafka應用場景

    指標分析:用於操作監控數據,分析各種指標。
    日誌收集:收集各個業務的數據發送到kafka TOPIC裏
    流式處理:數據實時打入kafka,實時計算框架(sparkstreaming  flink)實時在kafka中消費數據

Kafka技術架構(宏觀)

                                              

Producer: 應用程序發佈記錄流至一個或者多個kafka的主題(topics)
Consumer: 應用程序訂閱一個或者多個主題(topics)
Connectors: 允許構建和運行可重用的生產者或者消費者
StreamProcessors: 允許應用程序充當流處理器

Kafka架構內部細節剖析(維觀)

生產者(Producer):kafka當中的消息生產者,生產者通過topic進行歸類保存到kafka的broker裏面去

主題(topic):一個主題可以有零個,一個或者多個消費者定閱寫入的數據。可以有無數個主題

分區(partition): 每一個分區的數據是有序的,多個partition之間是無序的。Partition數量決定了每個Consumer Group中併發消費者的最大數量。

分區和消費組之間的關係:

同一個組中的消費者對於同一條信息只能消費一次
消費者應該小於等於該主題下的分區數,
Partition=消費任務併發度=剛剛好,每個任務取一個partition數據
partition>消費任務併發度=有部分消費任務讀取多個分區的數據
partition<消費任務併發度=有部分任務空閒
任何時候,分區中的一條數據只能被一個消費組中的一個消費任務讀取
總結:分區數越多,用一時間可以有越多的消費者來進行消費,消費數據的速度就會越快,提高消費的性能

lsr表示:當前可用的副本列表

Segment: 一個partition當中有多個segment,一個segment有一個.log文件和一個.index文件組成

index file: 採取稀疏索引存儲方式。(只是存儲一部分索引,不存儲所有數據的索引) 稀疏能夠節省存儲空間,偏移量(offset):每條消息在文件中的位置稱爲offset(偏移量)

消費者(Consumer):任何時候一個消費都必定需要屬於某一個消費組當中。

1

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章