猜你喜欢
HikariCP数据库连接池实战  [HikariCP in Action]

HikariCP数据库连接池实战 [HikariCP in Action]

书籍作者:朱政科 ISBN:9787111633211
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:5636
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

这是一本从设计思想、功能使用、原理实现、工程实践、技术扩展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的监控、扩展技术、常见问题等都是读者工作中较为迫切了解到、使用到的知识点,这些内容大多来自作者多年实战经验的积累及大量文献资料的收集整理,内容包罗万象、精妙绝伦。


作者简介

  朱政科,架构师,十年IT老兵,对各种数据库连接池有深入研究。
  曾在阿里等一线互联网公司长期从事中间件的研发及团队管理工作,连续经历过3年“***”大促,在大量的实践中积累了丰富的经验。
  热爱开源,热爱新技术,为Apache Sharding Sphere、Apache Skywalking等技术社区都做过贡献。除了中间件技术,先后主导和参与了多个重要的物联网、人工智能等大型项目,在软件系统架构方面有深厚的积累和沉淀。
  运营公众号《工匠人生》和知识星球《猪猪的架构师私密圈》。

编辑推荐

作者是曾就职于阿里等企业的有10余年工作经验的资深架构师和数据库连接池专家,对HikariCP在内的各种数据库连接池技术都有深入研究。

作者为Apache ShardingSphere、Apache Skywalking等知名开源项目的技术社区做出过重要贡献。

本书在出版前得到了褚霸、德哥、张亮、吴晟等近10位来自阿里、京东等知名企业的专家的高度评价和一致推荐,同时在社区里也到了广泛好评。

本书从设计思想、功能使用、原理实现、工程实践、技术扩展5个维度对HikariCP进行全面讲解和深入分析。


前言
2017年我开始从事数据库连接池中间件的研发和架构工作,并在公司内部写了一系列数据库连接池HikariCP源码解析和实战的文章。在老板张聪的建议下,我申请了微信公众号并坚持分享技术,公众号的初心是:“写的内容要有人阅读,这样才会引发互动交流;有朋友就不会觉得孤独,而且互相探讨也有助于自身提高”。
  我从事的底层数据库中间件采用了HikariCP这款数据库连接池,这让我和HikariCP结下了不解之缘。非常幸运的是,在长达近一年的时间里,每天都有大量的业务开发人员向我咨询数据库连接池的问题,最多的时候可以达到十多位同学排队咨询,使我颇有老中医开堂坐诊的感觉。我是一个细心的人,大家的疑问和最后的解决方式都会一一记录下来,我也会协助网友以及其他公司的技术人员分析定位数据库连接池问题,帮助他们的项目顺利上线我也同样感到喜悦,这段经历是我技术之路上宝贵的财富。
  我毕业于哈工大,哈工大的校训是“规格严格,功夫到家”,母校影响着我的做事风格,我是一个追求极致的人。但每当我协助业务开发人员排查问题时,却常常发现糟糕的事情。比如很多业务项目里充斥着HikariCP、Druid、BoneCP、c3p0、TomcatJDBC等多种数据库连接池依赖项,而开发人员却并不知道自己究竟使用的是哪款数据库连接池,而将依赖做到精简是中间件岗位最基本的素养。美国童子军有一条“让营地比你来时更干净”的军规,这也是《CleanCode》这本经典书强烈建议的。比如,我发现很多业务开发同学咨询的问题如果总结下来是可以分门别类的,但是部分人解决了问题却不会分享。传播、传承,进而造成其他人接二连三地因为类似的问题再度陷入费时费力的排查之中;再比如,很多技术人员在学习使用数据库连接池之后想对更深入的技术进行探索,然而市面上却没有系统、深入地介绍数据库连接池的书,导致他们不得不投入到其他项目中从而没有实现深入了解数据库连接池的梦。因此,我决定撰写一本相关的图书。这是一本介绍数据库连接池的书,由于这本书中更多凝结的是我多年的实践经验、我对于社区数据库连接池上千条问题讨论的研读等,所以这本书称为“HikariCP数据库连接池实战”。
  Hikari在日语中的意思是光,代表了极致。极致无处不在,极致可以小到一次代码提交,也可以大到整个研发流程;极致可以小到一行JDK底层代码,也可以大到整个电商系统架构;极致可以运用在技术选型,也可以运用在团队管理。极致也是分场景的,有些是大规模高并发的要求,有些原则上不到一定的数量级不能用。极致的追求,不仅需要对基础技术原理有足够深入的了解,还需要配套的中间件支持,相关的业务协助改造。极致之路,没有银弹,不要想一招毙命,一口吃成个胖子,而是要审时度势,根据当前的现状来裁定。.在和HikariCP打交道的期间,我发现这是数据库连接池界一款以追求极致为初心的艺术作品。不论是从相关文献资料、问题讨论、源码更新,还是从HikariCP多年来不辞辛劳一步一个脚印的社区贡献,我都能深深感受到HikariCP在极致之路上一次又一次地超越自我,以追求卓越的状态面对未来的技术发展方向。
  光不但是极致,更是希望。这些年,尤其是写这本书的期间,我承受了不少的委屈,也遭遇了很多的坎坷,经历了生离,也经历了死别。然而我坚持将自己的梦实现,希望能活成一束光,能够温暖别人,也能够照亮别人,这才是真正的正能量。《HikariCP数据库连接池实战》,是我的孩子,也是我梦想的实现,但我希望它不再是属于我一个人的梦,更希望能够将HikariCP的光亮照进每一名读者心中。
  最后送大家一段话:在一无所有时,也请坚持做一名追光者,愿大家都能找到自己内心深处的光,接近并成为它,去发光发亮,成为别人眼中的和照亮别人的光,用更亮的光芒照亮世界的每一个角落。你就是太阳,蒸发了彷徨,有你的地方就是天堂。
目录
赞誉
前言
第一篇 准备篇
第1章 阿里中间件实战,第一个案例
1.1 物联网MQTT单机压测130万参数调优
1.2 阿里中间件TCP四次挥手性能调优实战
1.2.1 亿级消息网关Rowan架构
1.2.2 人脸识别服务:异曲同工的架构
1.2.3 “双十一大促”全链路压测发现TCP问题
1.2.4 Linux内核网络参数调优
1.2.5 LinuxTCP参数调优
1.2.6 一行代码大幅提升QPS
1.3 技术驱动业务,结果为导向
1.4 本章小结
第2章 数据库连接池江湖
2.1 为什么使用数据库连接池
2.2 数据库连接池原理
2.3 数据库连接池百晓生《兵器谱》
2.3.1 c3p0
2.3.2 Proxool
2.3.3 XAPool
2.3.4 DBCP
2.3.5 TomcatJDBCPool
2.3.6 BoneCP
2.3.7 Druid
2.4 主流数据库连接池对比
2.4.1 性能对比
2.4.2 代码复杂度
2.4.3 功能对比
2.4.4 数据库中断
2.5 本章小结
第3章 初识HikariCP
3.1 Hikari背景、特色及前景
3.2 SpringBoot数据库连接池加载顺序剖析
3.3 SpringBoot整合HikariCP实战
3.3.1 Springlnitializr
3.3.2 添加HikariCP依赖
3.3.3 JdbcTemplate
3.3.4 DatabaseInitialization
3.3.5 启动运行
3.4 本章小结
……

第二篇 基础篇
第三篇 原理篇
第四篇 实战篇