Kafka 介紹
以下內容翻譯自官方文件:http://kafka.apache.org/documentation#introduction
Kafka 是一個分散式流平臺。這到底是什麼意思呢?
我們認為,一個流平臺具備三個關鍵功能:
- 它允許釋出並訂閱記錄流。就這點來說,它類似於訊息佇列或企業資訊系統
- 它允許以容錯的方式儲存記錄流
- 它允許隨時處理記錄流
Kafka 擅長什麼?
它被用於兩大類應用:
- 建立實時流資料管道,可靠地獲得系統或應用間的資料
- 建立實時流應用,轉換或響應資料流
為了理解Kafka怎樣實現這些操作,我們潛入並由下而上地探索Kafka的功能。
首先,一些概念:
- Kafka 作為叢集執行在一個或多個伺服器上
- Kafka叢集按類儲存記錄 流,類被稱作topics
- 每條記錄包括鍵、值和時間戳
Kafka有四個核心API:
- 生產者API(Producer API ) : 允許應用釋出記錄流到一個或多個Kafka的topics
- 消費者API(Consumer API): 允許應用訂閱一個或多個topics並處理獲得的記錄流
- 流API(Stream API):允許應用成為流處理器,消費來自一個或多個topics的輸入流併發布輸出流到一個或多個topics,高效轉化輸入輸出流。
- 聯結器API(Connector API):允許構建並跑重用的producers或consumers,它們將kafka topics和存在的應用或資料系統連線起來。比如,一個到關聯式資料庫的聯結器可能會捕獲每一個改變。
在Kafka中,客戶端和伺服器端間的通訊是由簡單、高效能、語言無關的TCP協議完成的。該協議版本化,並保持向後相容。我們為kafka提供了Java客戶端,但有許多語言的客戶端是可獲取使用的。
Topics 和 日誌
每個topic,Kafka叢集以如下方式儲存分段的日誌:
partition是按序、不可變的記錄佇列,被連續追加到結構化歸檔日誌。為分段中的記錄分別分配了一個序列id,該ID被稱作偏移量,它唯一標示了段中每條記錄。
相關文章
- kafka介紹Kafka
- 一、kafka 介紹 && kafka-clientKafkaclient
- Kafka詳細介紹Kafka
- kafka 基礎介紹Kafka
- kafka基礎介紹Kafka
- Kafka剖析:Kafka背景及架構介紹Kafka架構
- Apache kafka 工作原理介紹ApacheKafka
- Kafka剖析(一):Kafka背景及架構介紹Kafka架構
- KAFKA介紹(分散式架構)Kafka分散式架構
- Kafka中的segment的介紹Kafka
- Kafka管理工具介紹Kafka
- Kafka的原理介紹及實踐Kafka
- Apache Kafka簡單介紹 - 解道JdonApacheKafka
- Kafka 處理器客戶端介紹Kafka客戶端
- 什麼,kafka能夠從follower副本讀資料了 —kafka新功能介紹Kafka
- kafka之一:kafka簡介Kafka
- Kafka簡介Kafka
- kafka 簡介Kafka
- Java中的幾種Kafka客戶端比較介紹JavaKafka客戶端
- kafka詳解一、Kafka簡介Kafka
- kafka SASL認證介紹及自定義SASL PLAIN認證功能KafkaAI
- kafka元件簡介Kafka元件
- Apache-Kafka簡介ApacheKafka
- 介紹
- 大資料技術 - 分散式訊息流平臺:Kafka與Pulsar的介紹大資料分散式Kafka
- LAMP架構介紹、MYSQL介紹、安裝LAMP架構MySql
- Kafka 簡介 & 整合 SpringBootKafkaSpring Boot
- php介紹PHP
- CSRedisCore 介紹Redis
- BitMap介紹
- GeoServer介紹Server
- RabbitMQ 介紹MQ
- 模式介紹模式
- Pyzmq介紹MQ
- Java介紹Java
- css介紹CSS
- 【RESTEasy 介紹】REST
- PostgreSQLHooK介紹SQLHook