Kafka入門系列—1. topic、消費者組等重要概念

消息隊列是生產者向消息隊列發送消息,消費者從消息隊列拉取(pull)消息。

  1. 生產者
    生產者是消息隊列的數據源,可以向其發送消息,如字符串、二進制數據等。

  2. 消費者
    消費者的數據源就是Kafka,於是通過Kafka實現了生產者和消費者兩個系統的解耦。

  3. broker
    部署了Kafka的server稱爲broker。Kafka分佈式部署就有多臺broker。

  4. 主題topic

  • topic是字符串,它將消息進行分類、存儲
  • 多個生產者可以向同一個topic發送消息
  • 多個消費者可以訂閱同一個topic
  • 每一條消息一定屬於某一個topic
  • 一個topic可以包含多個消息
  • 通過topic可以實現生產者和消費者之間有針對性的發送和訂閱
  1. 消息
  • 消息必須指定屬於哪個topic
  • 由key和value構成。key用來將消息分配到topic的指定分區中。
  1. Kafka集羣
    由多臺broker組成,它們之間通過心跳檢測其他機器狀態。

  2. 控制器

  • 多臺broker中會有一臺broker作爲控制器,它管理Kafka的分區、副本等。
  • 其他borker會監聽控制器的狀態,當前控制器異常時會使用選舉算法選出新的控制權。
  1. 消費者組
  • 一個消費者只能屬於一個消費者組
  • 單播:消費者組所訂閱的topic只能由其中的一個消費者消費。訂閱同一topic的多個消費者組互不影響。
  • 廣播:多個消費者消費同一個topic,那它們一定屬於不同的消費者組。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章