天天看點

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

什麼是Kafka?

Kafka通常用于實時流資料架構,以提供實時分析。

Kafka正在爆炸式增長。超過三分之一的财富500強企業都使用Kafka。這些公司包括十大旅遊公司,十大銀行中的七家,十大保險公司中的八家,十大電信公司中的九家,以及更多。LinkedIn,微軟和Netflix每天使用Kafka(1,000,000,000,000)處理萬億級的消息。Kafka用于實時資料流,收集大資料或進行實時分析(或兩者兼而有之)。Kafka與記憶體微服務一起使用以提供可靠性,它可用于向 CEP(複雜事件流系統)和IoT / IFTTT式自動化系統提供事件。 

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

為什麼選擇Kafka?

Kafka通常用于實時流式資料體系結構以提供實時分析。由于Kafka是一個快速,可擴充,耐用和容錯的釋出、訂閱消息傳遞系統,Kafka被用于JMS,RabbitMQ和AMQP可能因為數量和響應速度而不被考慮的情況。Kafka具有更高的吞吐量,可靠性和複制特性,使其适用于跟蹤服務呼叫(跟蹤每個呼叫)或跟蹤傳統MOM可能不被考慮的物聯網傳感器資料。

Who在使用Kafka?

許多處理大量資料的大公司使用Kafka。

  • LinkedIn起源于它,用它來跟蹤活動資料和營運名額。
  • Twitter使用它作為Storm的一部分來提供流處理基礎設施。
  • Square使用Kafka作為消息總線,将所有系統事件轉移到各種Square資料中心(日志,自定義事件,度量标準等),輸出到Splunk,Graphite(儀表闆)以及Esper-like / CEP警報系統。
  • Spotify,Uber,Tumbler,Goldman Sachs,PayPal,Box,Cisco,CloudFlare和Netflix等公司也使用這種方法。

由于整個筆記比較全面,内容相當的多 ,這裡僅展示資料的一些截圖,如有需要擷取文中提到的 “Kafka技術手冊” 的朋友 文末 有直達擷取位址。

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

kafka知識導圖

第一部分:初識Kafka

通過這一部分的學習,你可以學習一下内容:

  • 知道Kafka基本原理,了解關鍵術語概念
  • 可以使用Kafka進行消息系統開發
  • 通過Java語言來使用Kafka進行消息收發

内容涵蓋:(特性 + 使用場景 + 技術優勢 + 适應人群 + 概念詳解 + 安裝與配置 + Java第一個程式 + 服務端常用參數配置 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第二部分:生産者詳解

通過這一部分的學習,你可以學習一下内容:

  • 深入學習Kafka資料生産大緻流程
  • 如何建立并使用Kafka生産者
  • Kafka生産者常用配置

内容涵蓋:(消息發送 + 發送原理剖析 + 其他生産者參數 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第三部分:消費者詳解

通過這一部分的學習,你可以學習一下内容:

  • 深入學習Kafka資料消費大緻流程
  • 如何建立并使用Kafka消費者
  • Kafka消費者常用配置

内容涵蓋:(概念入門 + 消息接收 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第四部分:主題

通過這一部分的學習,你可以學習一下内容:

  • 深入學習Kafka主題的管理
  • KafkaAdminClient應用

内容涵蓋:(管理 + 增加分區 + 分區副本的配置設定 + 其他主題參數配置 + KafkaAdminClient應用 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第五部分:分區

通過這一部分的學習,你可以學習一下内容:

  • 深入學習Kafka分區的管理
  • 包括:優先副本的選舉、分區重新配置設定等

内容涵蓋:(副本機制 + 分區Leader選舉 + 分區重新配置設定 + 修改副本因子 + 分區配置設定政策 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第六部分:Kafka存儲

通過這一部分的學習,你可以學習一下内容:

  • 在完成Kafka應用開發的基礎上,知道檔案存儲機制
  • Kafka為什麼使用磁盤作為存儲媒體
  • 分析檔案存儲格式
  • 快速檢索消息

内容涵蓋:(存儲結構概述 + 日志索引 + 日志清理 + 磁盤存儲優勢 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第七部分:穩定性

通過這一部分的學習,你可以學習一下内容:

  • 深入學習Kafka在保證高性能、高吞吐的同時通過各種機制來保證高可用性

内容涵蓋:(幂等性 + 事務 + 控制器 + 可靠性保證 + 一緻性保證 + 消息重複的場景及解決方案 + __consumer_offsets + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第八部分:進階應用

通過這一部分的學習,你可以學習一下内容:

  • 作為運維人員掌握指令行工具
  • 使用Connect進行流資訊處理
  • 掌握延遲消息、流式處理等
  • Kafka和SpringBoot整合

内容涵蓋:(指令行工具 + 資料管道Connect + 流式處理Spark + SpringBoot Kafka + 消息中間件選型對比 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第九部分:叢集管理

通過這一部分的學習,你可以學習一下内容:

  • 熟悉Kafka叢集管理相關内容
  • 配置與調優

内容涵蓋:(叢集的特點 + 叢集的能力 + 叢集使用場景 + 叢集搭建 + 多叢集同步 + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

第十部分:監控

通過這一部分的學習,你可以學習一下内容:

  • 知道Kafka的監控體系
  • 掌握JMX監控名額
  • 資料異動實時提醒

内容涵蓋:(監控度量名額 + broker監控名額 + 主題分區監控 + 生産者監控名額 + 消費者監控名額 + Kafka Eagle + 總結)

超詳細:這份全網首發的Kafka技術手冊,從基礎到實戰一應俱全

寫在最後