Kafka流處理平臺【筆記】

1. kafka基本概念

Producer

消息和數據生產者,向kafka的一個topic發佈消息的進程/代碼/服務

Consumer

消息和數據的消費者,訂閱數據(topic)並且處理其發佈的消息的進程/代碼/服務

Consumer Group

邏輯概念,對於同一個topic,會 廣播給不同的group,一個group中只有一個consumer可以消費該消息;

Broker

物理概念,kafka集羣中的每個kafka節點;

topic

邏輯概念,kafka消息的類別,對數據進行區分、隔離;

Partition

物理概念,kafka下數據存儲的基本單元。一個Topic的數據,會被分散儲存到多個partition是有序的;

Replication

同一個partition可能會有多個Replica,多個replica之間數據是一樣的;

replication leader

一個partition的多個replica上,需要一個Leader負責該partition上與producer和Consumer交互;

replicaManager

負責管理當前broker所有分區和副本的信息,處理kafkaController發起的一些請求,副本狀態的切換,添加/讀取消息等;

2. kafka基本概念延伸

Partition:

1、每個topic被切分爲多個partitions
2、消費者數目少於或等於partition的數目
3、Broker group中的每一個broker保存topic的一個或多個partitions
4、Consumer Group中的僅有的一個consumer讀取topic的一個或多個partitions,並且是唯一的consumer;

Replication:

1、當集羣中有broker掛掉的情況,系統可以主動的使用replicas提供服務;
2、系統默認設置每一個topic的replication係數爲1,可以在創建topic時單獨設置;
特點:
(1) Replication的基本單位是topic和partition;
(2) 所有的讀和寫都從leader進,followers只是做爲備份;
(3) follower必須能夠及時複製leader的數據
(4) 增加容錯性和可擴展性;

3.kafka的基本結構

在這裏插入圖片描述
包括四種:

Producer Api
Consumer Api
Streams Api
Connectors Api
在這裏插入圖片描述
在這裏插入圖片描述

kafka的特點

分佈式

多分區
多副本
多訂閱者
基於Zookeeper調度

高性能

高吞吐量
低延遲
高併發
時間複雜度爲O(1)

持久性與擴展性

數據可持久化
容錯性
支持在線水平擴展
消息自動平衡

kafka應用場景

消息隊列
行爲跟蹤
元信息監控
日誌收集
流處理
事件源

kafka簡單案列

下載與安裝

  1. zookeeper下載:https://zookeeper.apache.org/releases.html#download
  2. kafka下載: http://kafka.apache.org/downloads
  3. 安裝:解壓,配置環境變量
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章