《Kafka入門與實踐》讀書筆記

2021-08-23 13:37:59 字數 1541 閱讀 2874

(1)具有高吞吐量來支援如實時的日誌集這樣的大規模事件流。

(2)能夠很好地處理積壓的資料,以便能夠周期性地載入離線資料進行處理。

(3)能給低延遲地處理傳統訊息應用場景。

(4)能夠支援分割槽、分布式,實時地處理訊息,同時具有容錯保障機制。

當前比較流行的訊息中介軟體有kafka、rocketmq、rabbit、zeromq、activemq、metamq、redis等,這些訊息中介軟體在效能及功能上各有所長。

2、kafka安裝配置

2.1、基礎環境配置

由於kafka是用scala語言開發的,執行在jvm上,因此在安裝kafka之前需要先安裝jdk。

2.1.1、jdk安裝配置

2.1.2、ssh安裝配置

2.1.3   zookeeper環境

zookeeper是乙個分布式應用程式協調服務框架,分布式應用程式可以基於zookeeper來實現同步服務、配置維護、命令服務等,zookeeper能提供基於類似於檔案系統的目錄節點樹方式的資料儲存,通過監控各節點資料狀態的變化,達到基於資料的集群管理。

kafka依賴zookeeper,通過zookeeper來對**、消費者上下線管理、集群、分割槽元資料管理等,因此zookeeper也是kafka得以執行的基礎環境之一。

2.2、kafka單機環境部署

3、kafka核心元件

kafka的核心功能模組,主要包括延遲操作元件、控制器、協調器、網路通訊、日誌管理器、副本管理器、動態配置管理及心跳檢測。

3.1、延遲操作元件

6、kafka api程式設計實戰

kafka提供了以下4類核心api。

producter api。producter api提供生產者消費相關的介面,通過實現producer api提供的介面來自定義producer、自定義分配策略等。

consumer api。consumer api提供消費訊息相關介面,包括建立消費者、消費偏移量管理等。

streams api。stream api 是kafka提供的一系列用來構建流處理程式的介面,通過stream api 讓流處理相關的應用場景變得更加簡單。

connect api。

6.1 主題管理

由於主題的元資料資訊是註冊在zookeeper相應節點之中,所以對主題的操作實質是對zookeeper中記錄主題元資料資訊

相關路徑的操作。kafka將對zookeeper的相關操作封裝成乙個zkutils類,並封裝了乙個adminutilsl類呼叫zkclient類的相關方法以實現對kafka元資料的操作,包括對主題、**、消費者等相關元資料的操作。對主題操作的相關api呼叫較簡單,相應操作都是通過呼叫adminutils類的相應方法來完成的。

6.1.1 、建立主題

6.1.2 修改的主題級別配置

6.1.3 增加分割槽

6.1.4 分割槽副本重分配

6.2  生產者api應用

6.2.1 單執行緒生產者

6.5 spring與kafka整合應用

spring與kafka的整合有spring-kafka和spring-integration-kafka兩種方式。

讀書筆記 《特徵工程入門與實踐》

歸一化和標準化 本書認為資料可以分為四大等級,分為是 定類 定序 定距 定比,其中定類和定序都是定性的資料,定距和定比是定量的資料。定類是離散的 無序的,舉例 人名 油漆名稱 動物物種 猴子 馬 牛等 定序是有序類別 可以比較的,舉例 考試等級 great good not bad bad等或 0 ...

《GitHub入門與實踐》讀書筆記 3

master分支是git預設建立的分支,基本上所有開發都是以這個分支為中心進行的 不同分支中,可以同時進行完全不同的作業,等該分支的作業完成之後再與master分支合併 git branch 顯示分支一覽表 將分支名列表顯示,同時可以確認當前所在分支 當前分支左側標有 git checkout b ...

《GitHub入門與實踐》讀書筆記 1

版本管理系統 1 集中型 將所有資料集中存放在伺服器中,便於管理 缺點 開發者不能連線伺服器時,無法獲取最新 subversion 2 分散型 將倉庫fork給了每乙個使用者 fork將github的某個特定倉庫複製到自己的賬戶下 擁有多個倉庫 開發者a可以直接向開發者b的倉庫進行push和pull...