天天看點

Apache-Kafka簡介

您可能感興趣的文章:

Apache-Kafka簡介

Apache Kafka安裝和使用

Apache-Kafka核心概念

Apache-Kafka核心元件和流程-協調器

Apache-Kafka核心元件和流程(副本管理器)

Apache-Kafka 核心元件和流程-控制器

Apache-Kafka核心元件和流程-日志管理器

kafka的定位

提到kafka,不太熟悉或者稍有接觸的開發人員,第一想法可能會覺得它是一個消息系統。其實Kafka的定位并不止于此。

Kafka官方文檔介紹說,Apache Kafka是一個分布式流平台,并給出了如下解釋:

流平台有三個關鍵的能力:

  • 釋出訂閱記錄流,和消息隊列或者企業新消息系統類似。
  • 以可容錯、持久的方式儲存記錄流
  • 當記錄流産生時就進行處理

Kafka通常用于應用中的兩種廣播類型:

  • 在系統和應用間建立實時的資料管道,能夠可信賴的擷取資料。
  • 建立實時的流應用,可以處理或者響應資料流。

由此可見,kafka給自身的定位并不隻是一個消息系統,而是通過釋出訂閱消息這種機制實作了流平台。

其實不管kafka給自己的定位如何,他都逃脫不了釋出訂閱消息的底層機制。本文講解的重點,也是kafka釋出訂閱消息的特性。

Kafka和大多數消息系統一樣,搭建好kafka叢集後,生産者向特定的topic生産消息,而消費者通過訂閱topic,能夠準實時的拉取到該topic新消息,進行消費。如下圖:

Apache-Kafka簡介

Kafka特性

  • 消息持久化
  • 高吞吐量
  • 可擴充性
  • 消息系統
  • 日志系統
  • 流處理

繼續閱讀