天天看點

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

什麼是 Kafka?

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

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

為什麼選擇 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 技術手冊,從基礎到實戰一應俱全,超詳細

寫在最後

在目前的趨勢下,Kafka 被越來越多的網際網路獨角獸企業所器重,在業務中的使用也越來越多!那麼,我們就是說不一定要熟練,但是至少要學會怎麼用。這樣在業務中自己的能力不斷地提升,才有底氣和老闆、和 HR 談漲薪。否則,隻是一味地做,不停地 996,業務能力卻沒有提升,那麼就會被公司所抛棄,更不要說什麼漲薪了,你問問你自己,你配嗎?

最後,我想說的是,學習并非難事,而貴在堅持,尤其是在我們參與工作之後,要繼續堅持學習就更不容易了。但對于程式員來說,學習是立業之根本,如若放棄學習,被市場淘汰是遲早的事情。是以,學習更多新的知識對于自己來說才是一種更大的投資。

擷取方式:需要這份 《Kafka 技術手冊》幫忙點贊+轉發+關注我,然後

免費擷取! 希望對你有幫助~~