kafka介紹

Kafka是什麼

Kafka是一個由Scala和java編寫的高吞吐量的分佈式發佈訂閱消息java

官網地址:http://kafka.apache.org/introapache

快速閱讀

kafka是一個消息隊列.生產者經過網絡把消息發到kafka集羣,集羣向消費者提供消息 。每一個消息 以topic爲單位。消費者以組爲單位。與zookeeper保持心跳鏈接 。只有在leader不工做時才與follower進行交互 。消費者經過偏移量offset 從指定位置讀取消息 ,生產者推送消息 ,消費者拉取消息服務器

KafKa特性1561129596645.png

  1. 持久化消息 存在硬盤上。比較穩定網絡

  2. 高吞吐量,每秒數百萬架構

  3. 支持經過Kafka服務器和消費機集羣來分區消息。分佈式

  4. 支持Hadoop並行數據加載oop

架構

1561123391579.png

定義

  • Brokerblog

    Kafka集羣包含一個或多個服務器,這種服務器被稱爲broker [5]隊列

  • Topicget

    每條發佈到Kafka集羣的消息都有一個類別,這個類別被稱爲Topic。(物理上不一樣Topic的消息分開存儲,邏輯上一個Topic的消息雖然保存於一個或多個broker上但用戶只需指定消息的Topic便可生產或消費數據而沒必要關心數據存於何處)

  • Partition

    Partition是物理上的概念,每一個Topic包含一個或多個Partition.

  • Producer

    負責發佈消息到Kafka broker

  • Consumer

    消息消費者,向Kafka broker讀取消息的客戶端。

  • Consumer Group

    每一個Consumer屬於一個特定的Consumer Group(可爲每一個Consumer指定group name,若不指定group name則屬於默認的group)

寫和讀只能從leader中讀,Flllower不讀。

若是leader掛了。Follower爲成leader

偏移量Offset

消費者和集羣都和Zookeeper有關係

相關文章
相關標籤/搜索