HikariCP数据库连接池实战
上QQ阅读APP看书,第一时间看更新

赞誉

无论是业务应用,还是数据库中间层研发领域的工程师,数据库连接池都是一个绕不开的话题。数据库连接池就像空气一样重要且无处不在,但又设计精妙,使得开发者无需直接感受到它的存在。

经历这如此漫长的发展之后,新一代的数据库连接池翘楚,HikariCP已经受到越来越广泛的关注,并且逐渐成为应用开发的首选。我主导的开源项目Apache ShardingSphere也因为它极致的性能而被采用为默认的数据库连接池。

一直以来,业界都缺少一本关于HikariCP的专业书籍。本作的出现,终于弥补了这方面的缺失,希望读者能够和我一样,通过阅读本作更加全面的了解数据库连接池的运行原理和实现机制。

张亮

京东数科数据研发负责人

Apache ShardingSphere发起人 & PPMC

《未来架构——从服务化到云原生》作者

连接池作为应用系统中最常用,也是压力最大的组件库之一,对整个系统的稳定起到了至关重要的作用。

APM的监控案例中,大量的性能和数据库访问、连接池使用有直接的联系,也是系统性能的TOP 10根源之一。

HikariCP项目作为一个优秀的开源连接池项目,对它的深入学习和理解会很好的保证项目功能以及性能稳定。

通过本书,读者能够更好的了解HikariCP连接池的原理、配置和使用方法,学习到实用的工程实践经验。

吴晟tetrate.io founding engineer. Apache SkyWalking创始人&VP

Apache ShardingSphere原型作者&PPMC成员

Apache Incubator PMC成员

在数据库的OLTP型的应用的特点往往是并发请求高,每秒处理的请求数多,单次请求的处理时间短。基于这些特征,通常客户端与数据库的连接通常建议使用连接池。

以PostgreSQL或Oracle数据库为例在没有连接池的情况下,用户每次请求前都要和数据库建立连接,数据库要检查来源客户端是否满足ACL列表需求,FORK backend process,使用配置好的认证方法与客户端进行认证。

通常使用连接池的情况下QPS可以达到百万级,而不使用连接池的情况下,QPS可能只有不到1万。可想而知在OLTP系统中连接池的重要性。

市面上开源的连接池很多,不同连接池有不同的特色,例如Druid不仅仅是个连接池,还支持了SQL请求的监控统计、SQL防火墙的能力。

HikariCP则是业界非常有名的一款以性能著称的连接池,感谢作者给我们带来了一本全面解析HikariCP的好书。本书对HikariCP的历史、原理、应用实践进行了非常详细的介绍,相信通过本书可以对HikariCP以及连接池技术有非常深刻的了解。

周中正(德哥digoal)

PostgreSQL社区成员

数据是互联网的核心价值,一款好用且高效的数据库及相关中间件则是这份核心价值的重要保障,也是值得技术工程师们深入学习研究的对象。始于2013年的HikariCP,在众多连接池中间件项目中,脱颖而出,得到越来越多互联网公司及从业人员的青睐。本书作者对HikariCP的各种技术原理和实现细节有着深入的理解掌握,同时结合上工作中碰到的Linux内核、TCP网络知识及性能调优实例经验,内容深入浅出,行文也不乏风趣幽默,不光是一本系统性介绍HikariCP的宝典,更是借此打开中间件研发大门的最佳通道。希望本书的读者们,无论是初学者,还是有进阶提升的需求,都能仔细研读并从中汲取到养分。

张聪

前阿里巴巴、滴滴出行架构师

杭州比智科技有限公司(奇点云)应用研发总监,首席架构师

数据库连接池是程序员接触最多但又最容易忽略的重要技术组件,并不是随意找个数据库池连接池就可以让应用发挥最大功效,我们需要从性能、扩展性、连接池管理、监控以及社区的活跃度等进行甄别。本书不仅对市面上常见的一些连接池组件进行了全方位比较和分析,还重点以实战的角度深入的介绍了高性能HikariCP连接池的使用、原理与维护。政科是我认识多年的好友,他在技术上面的严谨执着和一丝不苟,传承的就是一种工匠精神,相信读者通过本书定能受益匪浅。

程超

《高可用可伸缩微服务架构》联合作者

《深入分布式缓存》联合作者

作者以HikariCP入手,串起来点、线、面,行文生动,内容翔实丰满。性能是第一个案例的入手点,并比较了各大数据库连接池,最后在HikariCP配置、性能揭秘、监控等多方面展开描述。本书较好的诠释了从原理到实践这一思想,对于使用HikariCP的朋友可以成为居家旅行必备,对于了解整体池化技术或者性能优化的朋友,亦有他山之石之效。

于君泽

《深入分布式缓存》联合作者

公众号《技术琐话》运营者

HikariCP作为Spring Boot 2.0的默认数据库连接池,从不为人知到一日爆红。乘着Spring Boot这艘大船,必定成为java开发的主流数据库连接池。

《HikariCP实战》通过庖丁解牛式的技术分解,对JDBC和数据库连接池涉及到的技术实现细节及一些常见问题进行了梳理。通过阅读本书可以对Java数据库开发技术有一个更深入、系统的掌握。

构建一个高性能的网络应用需要从网络协议层、应用协议层进行全链路的推敲,另外连接池设计和线程工作模型的设计是关键点。数据库连接池麻雀虽小五脏俱全,通过《HikariCP实战》学习一个优秀的数据库连接池产品及其相关的技术,从而掌握高性能网络开发相关的部分技术是一个非常好的学习方式。

随着开源软件的成熟,作为淘宝去IOE后处理海量数据请求的最重要技术-分库分表技术不再是大型互联网公司的专享技术。如果你正遇到大数据量导致的数据库性能瓶颈,或者希望到大型互联网公司去工作,“自研集成HikariCP和Sharding-JDBC数据库中间件”这一节请了解一下。

注:淘宝去IOE就是去掉IBM的小型机、Oracle数据库、EMC存储设备,代之在开源软件基础上开发的系统。

《HikariCP连接池实战》不仅仅是告诉读者如何使用HikariCP数据库连接池,而是一本围绕数据库连接池相关技术展开的高性能Java开发技术实战书,任何一个对技术有好奇心的Java开发者都可以从本书收获良多。

杨俊

阿里技术专家

2014年阿里中间件性能挑战赛JAVA组第二名

资源的复用能够提升资源利用率,降低成本,其中数据库连接池便是对数据库连接资源进行复用。对数据库连接池原理的了解及使用,基本上已经成了软件从业人员必备技能。目前市面上已经有很多数据库连接池的组件,在数据库连接池红海市场中,HikariCP作为后起之秀能够实现浴血突围,有非常多独到之处。本书全面描述了HikariCP的独到设计,在软件的设计和性能优化等方面会给你打开一扇新的窗口。

何涛

网联架构师

第一次看到这本书名时,就在想连接池有啥可讲的,我天天都在使用,而当我翻开书阅读时就被作者讲述的阿里中间件实战经验深深吸引了,个个都是鲜活的高并发案例,而支撑这些高并发背后最有挑战的就是数据库连接池性能。作者通过Linux内核网络参数调优和TCP原理入手,再通过JDBC剖析、SPI实战、动态代理与字节码技术等,由浅入深地介绍HikariCP的“简单、极致、可靠”的设计哲学。

杨彪《分布式服务架构:原理、设计与实战》作者

《可伸缩服务架构:框架与中间件》作者

原蚂蚁金服专家,高级架构师