簡介
HikariCP 是用于創建和管理連接,利用“池”的方式復用連接減少資源開銷,和其他數據源一樣,也具有連接數控制、連接可靠性測試、連接泄露控制、緩存語句等功能,另外,和 druid 一樣,HikariCP 也支持監控功能。HikariCP 是目前最快的連接池,就連風靡一時的 BoneCP 也停止維護,主動讓位給它,SpringBoot 也把它設置為默認連接池。
看過 HikariCP 源碼的同學就會發現,相比其他連接池,它真的非常輕巧且簡單,有許多值得我們學習的地方,尤其性能提升方面,本文也就針對這一方面重點分析。本文將包含以下內容(因為篇幅較長,可根據需要選擇閱讀):
-
HikariCP 的使用方法(入門案例、JDNI 使用、JMX 使用)
-
HikariCP 的配置參數詳解
-
HikariCP 源碼分析
那么,如何學習 Kafka 源碼??
我覺得最高效的方式就是去讀最核心的源碼,先看一張Kafka 結構圖以及Kafka 源碼全景圖
梳理一下關于Kafka 框架,找到學習的重點。
其次,我要說的就是一個 Kafka 源碼解析的文檔——《Kafka 源碼解析與實戰》
前 5 章分別是:Kafka 簡介、Kafka 的架構、Broker 概述、Broker 的基本模塊、Broker 的控制管理模塊
-
第 1 章 Kafka 簡介:介紹 Kafka 誕生的背景、Kafka 在 LinkedIn 內部的應用、Kafka 的主要設計目標以及為什么使用消息系統
-
第 2 章 Kafka 的架構:介紹 Kafka 的基本組成、拓撲結構及其內部的通信協議
-
第 3 章 Broker 概述:描述 Kafka 集群組成的基本元素 Broker Server 的啟動以及內部的模塊組成
-
第 4 章 Broker 的基本模塊:描述 Broker Server 內部的九大基本模塊: SocketServer 、KafkaRequestHandlerPool 、LogManager、ReplicaManager 、OffsetManager、KafkaScheduler. KafkaApis 、KafkaHalthcheck 和 TopicConfigManager
-
**第 5 章 Broker 的控制管理模塊:**介紹 BrokerServer 的控制管理模塊 KafkaController,這個模塊負責整個 Kafka 集群的管理,例如:Topic 的新建和刪除.分區狀態和副本狀態的轉換、集群的負載均衡管理等
后 5 章分別是 Topic 的管理工具、生產者、消費者、Kafka 的典型應用、Kafka 的綜合案例
-
第 6 章 Topic 的管理工具 :介紹三個維護腳本: kafka-topics.sh 、kafka-reassign-partitions.sh 和 kafka preferredreplica-election.sh,它們分別涉及 Topic 的生命周期管理、Topic 分區的重分配和分區首選副本的選擇。
-
第 7 章 生產者 :從設計原則、示例代碼、模塊組成和發送模式四個部分介紹有關消息生產者的相關知識,從設計原則至客戶端編程,從客戶端編程到內部實現原理,由淺人深,循序漸進地講解。
-
第 8 章 消費者 :分別介紹兩種消費者:簡單消費者和高級消費者。針對每種消費者都將依次從設計原則、消費者流程、示例代碼以及原理解析四個部分介紹消費者的相關知識。
-
第 9 章 Kafka 的典型應用 :介紹 Kafka 與典型大數據系統的集成,包括: Kafka 和 Storm 的集成、Kafka 和 ELK 的集成、Kafka 和 Hadoop 的集成以及 Kafka 和 Spark 的集成。
-
**第 10 章 Kafka 的綜合案例 :**用綜合實例描述了 Kafka 的應用,案例描述 Kafka 作為數據總線在安防整體解決方案中的作用,通過車輛人臉圖片數據的入庫、視頻數據的入庫、數據延時的監控、數據質量的監控、布控統計和容災備份 6 個業務,簡要闡述內部的實現原理。
再者就是關于 Kafka 的面試
Kafka 面試專題解析
-
Kafka 的設計時什么樣的呢?
-
數據傳輸的事物定義有哪三種?
-
Kafka 判斷一個節點是否還活著有那兩個條件?
-
producer 是否直接將數據發送到 broker 的 leader(主節點)?
-
Kafa consumer 是否可以消費指定分區消息?
-
Kafka 消息是采用 Pull 模式,還是 Push 模式?
-
Kafka 存儲在硬盤上的消息格式是什么?
-
Kafka 高效文件存儲設計特點
-
Kafka 與傳統消息系統之間有三個關鍵區別
-
Kafka 創建 Topic 時如何將分區放置到不同的 Broker 中
-
Kafka 新建的分區會在哪個目錄下創建
-
partition 的數據如何保存到硬盤
-
kafka 的 ack 機制
-
Kafka 的消費者如何消費數據
-
消費者負載均衡策略
-
數據有序
-
kafaka 生產數據時數據的分組策略
復習學習必備 44 個 Kafka 知識點(基礎+進階+高級)
Kafka 基礎篇知識點(17)
Kafka 進階篇知識點(15)
Kafka 高級篇知識點(12)
44 個 Kafka 知識點(基礎+進階+高級)解析如下
最近我根據上述的技術體系圖搜集了幾十套騰訊、頭條、阿里、美團等公司 21 年的面試題,把技術點整理成了視頻(實際上比預期多花了不少精力),包含最新2022整理收集的一些高頻面試題(都整理成文檔),有很多干貨,包含mysql,netty,spring,線程,spring cloud、jvm、源碼、算法等詳細講解,也有詳細的學習規劃圖,面試題整理等,需要獲取這些內容的朋友點贊+關注后私信回復《222》即可免費獲取!