详解Spring Boot Mysql 版本驱动连接池方案选择

网友投稿 1112 2023-07-25

详解Spring Boot Mysql 版本驱动连接池方案选择

详解Spring Boot Mysql 版本驱动连接池方案选择

国内环境下,用mysql还是比较多的。这里简单的总结了一下,如有缪误,还请指正。

Mysql.connect

引入mysql-connector-java包,协议为GPL2.0,该协议具有传染性,即:一旦使用(调用)GPL的库,你的软件将被感染为GPL的软件(主程序)。完全不具有商业友好特性。如果有顾虑,可以使用mariadb-java-client进行替代,见mariadb-connector-j,路径是org.mariadb.jdbc.Driver

引入JDBC驱动程序

mysql

mysql-connector-java

${version}

JDBC驱动程序版本选择

5.1.**版本

建议使用。

长期维护更新的版本,最新一版是Jul, 2019维护的5.1.48版本。

对应mysql版本5.6、5.7、8.0都可以放心使用

6.0.**版本

禁止使用。

只有几个release版本,没有安全感,已经有一段时间不维护。

与5.1.**存在一些兼容性的问题。

8.0.**版本

酌情使用。

尚未经过验证,该版本主要为了兼容mysql8.0。

更新十分频繁。

需要JDK8以上。

Maven 仓库

Mysql版本建议

选择6个月以上的稳定版,选择开源的社区版的稳定版GA版本。

考虑开发人员开发程序使用的版本是否兼容你选的版本。

优先企http://业非核心业务采用新版本的数据库GA版本软件。

需要尝试新特性的,多关注Mysql的版本发布通知。

用到jsON等新特性的,可以考虑5.7。

保守的可以选择5.6。

一般云服务提供的版本大多是5.6、5.7。

JDBC连接池选择

选择连接池时,需要考虑的因素很多,比如综合性能,可靠性,稳定性,扩展性等。网上也有很多测评的文章,这里不多做介绍,把结论说一下。

参考

Druid之各种连接池性能对比测试

HikariCP基准测试

性能

hikariCP>druid>tomcat-jdbc>dbcp>c3p0

hikariCP 的性能十分优异,号称java平台最快的数据库连接池。

hikariCP在并发较高的情况下,性能基本上没有下降。

从字节码的维度优化代码。让方法尽量在35个字节码一下,来提升jvm的处理效率。 (default inline threshold for a JVM running the server Hotspot compiler is 35 bytecodes )

扩展性

阿里巴巴出品的druid功能最为全面。

可视化监控,统计数据较为全面。

当然,如果使用的是云数据库,云数据库已经自带了大量监控指标。

总结

如果对监控和跟踪没有要求,可以使用hikariCP, 如果有监控方面的需求,可以使用druid。我公司主要是用云数据库,所以基本都是使用hikariCP,优化一下配置,性能会很棒。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Springboot之自定义全局异常处理的实现
下一篇:项目敏捷开发工具:提高效率和团队协作的利器
相关文章

 发表评论

暂时没有评论,来抢沙发吧~