HikariCP數據庫連接池實戰( 簡體 字) | |
作者:朱政科 | 類別:1. -> 程式設計 -> 綜合 |
出版社:機械工業出版社 | 3dWoo書號: 51687 詢問書籍請說出此書號! 有庫存 NT售價: 495 元 |
出版日:8/19/2019 | |
頁數:345 | |
光碟數:0 | |
站長推薦: | |
印刷: | 語系: ( 簡體 字 ) |
ISBN:9787111633211 | 加入購物車 │加到我的最愛 (請先登入會員) |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證, 繁體書的下載亦請直接連絡出版社) | |
贊譽
前言 第一篇 準備篇 第1章 阿里中間件實戰,第一個案例 2 1.1 物聯網MQTT單機壓測130萬參數調優 2 1.2 阿里中間件TCP四次揮手性能調優實戰 4 1.2.1 億級消息網關Rowan架構 4 1.2.2 人臉識別服務:異曲同工的架構 6 1.2.3 “雙十一大促”全鏈路壓測發現TCP問題 9 1.2.4 Linux內核網絡參數調優 11 1.2.5 Linux TCP參數調優 12 1.2.6 一行代碼大幅提升QPS 13 1.3 技術驅動業務,結果為導向 16 1.4 本章小結 17 第2章 數據庫連接池江湖 19 2.1 為什么使用數據庫連接池 19 2.2 數據庫連接池原理 22 2.3 數據庫連接池百曉生《兵器譜》 23 2.3.1 c3p0 24 2.3.2 Proxool 29 2.3.3 XAPool 30 2.3.4 DBCP 32 2.3.5 Tomcat JDBC Pool 34 2.3.6 BoneCP 36 2.3.7 Druid 38 2.4 主流數據庫連接池對比 41 2.4.1 性能對比 41 2.4.2 代碼復雜度 42 2.4.3 功能對比 42 2.4.4 數據庫中斷 43 2.5 本章小結 46 第3章 初識HikariCP 47 3.1 Hikari背景、特色及前景 47 3.2 SpringBoot數據庫連接池加載順序剖析 51 3.3 SpringBoot整合HikariCP實戰 53 3.3.1 Spring Initializr 53 3.3.2 添加HikariCP依賴 55 3.3.3 JdbcTemplate 56 3.3.4 Database Initialization 57 3.3.5 啟動運行 59 3.4 本章小結 60 第二篇 基礎篇 第4章 HikariCP參數配置 64 4.1 校時 64 4.2 HikariCP配置手冊 68 4.2.1 必需配置 69 4.2.2 非必需配置 72 4.3 HikariCP連接池配置多大合適 78 4.4 Fixed Pool Design思想 81 4.5 MySQL高性能配置 82 4.6 Hibernate配置 83 4.7 JNDI配置 85 4.8 本章小結 86 第5章 HikariCP與JDBC 87 5.1 HikariCP JDBC Logging 87 5.2 JDBC 90 5.2.1 JDBC定義 91 5.2.2 JDBC實戰案例 93 5.2.3 JDBC剖析 95 5.2.4 PreparedStatement和Statement 100 5.3 JDBC與SPI 101 5.3.1 SPI簡介 101 5.3.2 SPI實戰案例 102 5.3.3 JDBC的SPI機制 104 5.3.4 SPI高級實戰:基于Dubbo的分布式日志鏈路TraceID追蹤 106 5.4 拓展:線程池技術 109 5.4.1 MySQL線程池簡介 110 5.4.2 MySQL線程池技術內幕 111 5.4.3 MySQL線程池實戰 114 5.5 本章小結 117 第三篇 原理篇 第6章 HikariCP性能揭秘 120 6.1 華山論劍 120 6.2 第三方測評 124 6.2.1 環境配置 125 6.2.2 獲取關閉連接性能測試 125 6.2.3 查詢一條語句性能測試 127 6.2.4 psCache性能對比 128 6.2.5 測試結論 129 6.3 HikariCP為什么這么快 129 6.3.1 精簡字節碼 130 6.3.2 FastList 132 6.3.3 ConcurrentBag 134 6.4 本章小結 147 第7章 HikariCP連接原理 148 7.1 獲取連接 148 7.2 歸還連接 155 7.3 關閉連接 158 7.4 生成連接 163 7.5 擴展閱讀:DCL為什么要加volatile 166 7.6 擴展閱讀:Log4j2為何性能優秀 169 7.7 本章小結 173 第8章 HikariCP參數源碼解析 174 8.1 SpringBoot 2.x HikariCP參數加載原理 174 8.2 allowPoolSuspension 181 8.3 validationTimeout 187 8.4 leakDetectionThreshold 189 8.5 本章小結 202 第9章 HikariCP動態代理與字節碼技術 203 9.1 HikariCP字節碼工程 203 9.1.1 HikariCP的字節碼技術 204 9.1.2 代理技術原理 209 9.1.3 HikariCP JIT方法內聯優化 213 9.2 JMH基準測試 216 9.2.1 JMH常用注解 216 9.2.2 JMH實戰案例Orika 219 9.3 本章小結 223 第四篇 實戰篇 第10章 HikariCP監控實戰 226 10.1 監控體系層次 226 10.2 為什么需要數據庫連接池監控 228 10.3 HikariCP監控指標 231 10.3.1 hikaricp_pending_threads 233 10.3.2 hikaricp_connection_acquired_nanos 234 10.3.3 hikaricp_idle_connections 235 10.3.4 hikaricp_active_connections 235 10.3.5 hikaricp_connection_usage_millis 235 10.3.6 hikaricp_connection_timeout_total 235 10.3.7 hikaricp_connection_creation_millis 236 10.4 HikariCP監控指標實戰 236 10.4.1 連接風暴 236 10.4.2 慢SQL 237 10.4.3 監控指標與參數配置 237 10.5 SpringBoot 2.0暴露HikariCP Metrics 238 10.6 SpringBoot 2.0監控HikariCP JMX 241 10.7 微服務架構下的監控平臺選型 246 10.8 本章小結 250 第11章 從HikariCP Metrics談微服務監控架構實戰 252 11.1 HikariCP Metrics 253 11.2 Micrometer 258 11.3 SpringBoot 2.x自定義埋點實戰 260 11.3.1 引入依賴 260 11.3.2 配置application.properties 261 11.3.3 注冊Metrics 261 11.3.4 支付接口埋點統計總次數 262 11.3.5 查看指標數據 262 11.4 SpringBoot 2.x集成Micrometer源碼解析 266 11.5 SpringBoot 1.5.x自定義埋點實戰 269 11.5.1 引入Micrometer依賴 269 11.5.2 創建Bean并注冊Metrics指標 270 11.5.3 在Controller中進行支付業務埋點 271 11.6 監控架構重點 272 11.6.1 Prometheus 272 11.6.2 Grafana 275 11.7 本章小結 278 第12章 HikariCP擴展技術 280 12.1 Flexy-Pool 280 12.2 Apache ShardingSphere 284 12.3 自研集成HikariCP和Sharding-JDBC數據庫中間件 295 12.4 時鐘回撥 300 12.5 本章小結 311 第13章 HikariCP常見問題 312 13.1 HikariCP故障分析技巧 312 13.2 leakDetectionThreshold參數解決Spark/Scala連接池泄露 318 13.3 詳解JDBC超時 320 13.4 快速恢復 323 13.5 Oracle Connection Reset問題 327 13.6 HikariCP關閉連接的5種情況 329 13.7 如何獲取HikariDataSource的active connection 330 13.8 如何對HikariCP配置文件中的服務器名、用戶名、密碼加密 330 13.9 HikariCP神奇的配置dataSourceProperties 330 13.10 如何獲取HikariCP連接池中的原始連接 332 13.11 HikariCP并不是萬能工具 332 13.12 本章小結 333 第14章 HikariCP詭案實錄 334 14.1 問題描述 334 14.2 Brett經典回答 336 14.3 另一個類似的案例 337 14.4 分析問題 338 14.5 解決問題 344 14.6 本章小結 344 這是一本從設計思想、功能使用、原理實現、工程實踐、技術擴展5個維度全面講解數據庫連接池HikariCP的著作。得到了褚霸、德哥、張亮、吳晟等近10位來自阿里、京東等互聯網企業的技術專家的高度評價,同時也在社區里獲得廣泛好評。
系統性上,從基本功能,到擴展技術,內容涵蓋HikariCP的方方面面;深度上,從原理闡述到源碼分析,直擊HikariCP的本質;實操性上,不僅有小案例和綜合性的大案例,還有對疑難問題的解決方案。 全書共14章,在邏輯上分為四大部分: 準備篇(1~3章) 以阿里連接池極致優化案例展示了不使用連接池和使用連接池的QPS天壤之別,帶領讀者了解數據庫連接池的背景、原理及歷史,以及本書的主角HikariCP。 基礎篇(4~5章) 系統梳理HikariCP的基礎知識,包含參數配置、JDBC等核心模塊,這些內容都是HikariCP基礎的重中之重。 原理篇(6~9章) 直擊HikariCP的“靈魂”,深入淺出地分析了HikariCP的原理。首先,全方位的剖析了HikariCP性能極致的原因,這些都會成為讀者面試、工作中的談資; 其次,從連接原理、參數原理、動態代理與字節碼技術等三個維度作為切入口,分別對HikariCP進行了源碼級別的解析,這樣全方位的剖析不同于單視角的源碼解析,更能將HikariCP的原理立體化的展示在讀者面前。 實戰篇(10~14章) 這是本書的精華部分。HikariCP的監控、擴展技術、常見問題等都是讀者工作中較為迫切了解到、使用到的知識點,這些內容大多來自作者多年實戰經驗的積累及大量文獻資料的收集整理,內容包羅萬象、精妙絕倫。 |