Kafka基礎架構

Kafka基礎架構


消息隊列的兩種模式

1. 點對點模式(一對一,消費者主動拉取數據,消息收到後消息清除)

在這裏插入圖片描述

  • 過程:

    1. producer將消息發送到queue中;
    2. consumer從queue中拉取並消費message;
    3. message從queue中刪除
  • 特點:

    1. 一個queue可以有多個consumer;
    2. 一個message只會被一個consumer消費;
2. 發佈/訂閱模式(一對多,消費者消費消息之後消息不會被清除)

在這裏插入圖片描述

  • 過程:

    1. producer將message發佈到topic中;
    2. 多個consumer同事消費該message;
  • 特點:

    1. topic 中的message會被所有訂閱的consumer消費

Kafka架構

在這裏插入圖片描述

基本介紹

  • Producer :消息生產者,就是向 Kafka broker 發消息的客戶端。
  • Consumer :消息消費者,向 Kafka broker 消費消息的客戶端。
  • Topic :可以理解爲一個隊列,生產者和消費者面向的都是topic。
  • Broker : Kafka服務器
    1. 一個集羣由多個 broker 組成;
    2. 一個 broker 可以容納多個 topic。
  • Partition: 分區
    1. 爲了實現擴展性,一個大的 topic可以分佈到多個 broker上;
    2. 一個 topic可以分爲多個partition,每個partition都是一個有序的隊列。
  • Consumer Group (CG): 消費者組
    1. 一個消費者組由多個 consumer 組成;
    2. 同一個消費者組內不同消費者負責消費不同分區的數據;
    3. 一個分區同時只能由一個消費者組內的一個消費者消費;
    4. 消費者組之間互不影響;
    5. 每一個消費者都屬於某個消費者組;
    6. 消費者組是一個邏輯上的訂閱者;
  • Replica:副本
    1. 爲保證集羣中的某個節點發生故障時,該節點上的 partition 數據不丟失,且 kafka仍然能夠繼續工作,kafka 提供了副本機制;
    2. 一個 topic 的每個分區都有若干個副本, 即一個分區由一個 leader 和若干個follower組成;
  • leader:每個分區多個副本的“主”,生產者發送數據的對象,以及消費者消費數據的對象都是leader。
  • follower:每個分區多個副本中的“從”,實時從 leader 中同步數據,保持和 leader 數據 的同步。leader 發生故障時,某個 follower 會成爲新的 leader,同一個partition的leader和follower不會存在於同一個Broker。
  • zookeeper:存儲Kafka集羣信息,幫助管理集羣;存儲消費者的位置信息;(0.9版本之前位置信息存儲在zookeeper,0.9版本之後位置信息存儲在kafka集羣磁盤中,默認保存7天)

發佈了117 篇原創文章 · 獲贊 192 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章