Kafka 基本概念
1、Producer &Broker& Consumer
Broker:Kafka叢集包含一個或多個例項,每個例項稱為Broker
三者之間的互動方式是:
Producer推送資料給Broker
Consumer從Broker拉取資料。
2、Topic
- 邏輯概念,同一個Topic的訊息可分佈在一個或多個節點(Broker)上
- 一個Topic包含一個或者多個Partition
- 每條訊息都屬於且僅屬於一個Topic
- Producer釋出資料時,必須指定將該訊息釋出到哪一個Topic
- Consumer訂閱訊息時,也必須指定訂閱哪個Topic的訊息
從圖中可以看出,kafka會將topic的資料均勻的分配到不同的broker上。
3、Partition
- 物理概念,一個Partition只分佈於一個Broker上(不考慮備份)
- 一個Partition物理上對應一個資料夾
- 一個Partition包含多個Segment(Segment對使用者透明,即對使用者是不可見的。)
- 一個Segment對應一個檔案
- Segment由一個個不可變記錄組成
- 記錄只會被append到Segment中,不會被單獨刪除或者修改
- 清除過期日誌時,直接刪除一個或多個Segment
Partition中的資料都會有一個當前partition唯一序列號,稱為Offset。
小注:
本文部分內容及全部圖片來自:郭俊(Jason Guo)
作者:jiankunking 出處:http://blog.csdn.net/jiankunking
相關文章
- Kafka基本概念Kafka
- Apache Kafka 的基本概念ApacheKafka
- 【kafka學習筆記】kafka的基本概念Kafka筆記
- RocketMQ基本概念MQ
- Mysql基本概念MySql
- mongodb 基本概念MongoDB
- javascript:基本概念JavaScript
- MQ 基本概念MQ
- 機器學習基本概念機器學習
- babel基本概念Babel
- kafka-ngx_kafka_moduleKafka
- 【Kafka】Kafka叢集搭建Kafka
- Kafka實戰-Kafka ClusterKafka
- kafka之一:kafka簡介Kafka
- kafka工具kafka-topic.shKafka
- Kafka實戰-Flume到KafkaKafka
- Kafka實戰-Kafka到StormKafkaORM
- kafkaKafka
- RabbitMQ(1)---基本概念MQ
- Spring 基本概念Spring
- GacUI基本概念(一)UI
- redux的基本概念Redux
- Docker的基本概念Docker
- 程式的基本概念
- 基本概念及操作
- MySQL基本概念【一】MySql
- Oracle RAC基本概念Oracle
- lipaper-基本概念
- 微服務基本概念微服務
- 樹的基本概念
- 一、kafka 介紹 && kafka-clientKafkaclient
- 《Kafka筆記》1、Kafka初識Kafka筆記
- Apache Kafka教程--Kafka新手入門ApacheKafka
- Kafka 訊息監控 - Kafka EagleKafka
- Kafka教程(一)Kafka入門教程Kafka
- kafka詳解一、Kafka簡介Kafka
- docker compose of kafka and kafka-uiDockerKafkaUI
- Kafka學習之(七)搭建kafka視覺化服務Kafka EagleKafka視覺化