詳解Spring Boot Mysql 版本驅(qū)動連接池方案選擇
國內(nèi)環(huán)境下,用Mysql還是比較多的。這里簡單的總結(jié)了一下,如有繆誤,還請指正。
Mysql.connect
引入mysql-connector-java包,協(xié)議為GPL2.0,該協(xié)議具有傳染性,即:一旦使用(調(diào)用)GPL的庫,你的軟件將被感染為GPL的軟件(主程序)。完全不具有商業(yè)友好特性。如果有顧慮,可以使用mariadb-java-client進行替代,見mariadb-connector-j,路徑是org.mariadb.jdbc.Driver

引入JDBC驅(qū)動程序
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>${version}</version>
</dependency>
JDBC驅(qū)動程序版本選擇
5.1.**版本
- 建議使用。
- 長期維護更新的版本,最新一版是Jul, 2019維護的5.1.48版本。
- 對應mysql版本5.6、5.7、8.0都可以放心使用
6.0.**版本
- 禁止使用。
- 只有幾個release版本,沒有安全感,已經(jīng)有一段時間不維護。
- 與5.1.**存在一些兼容性的問題。
8.0.**版本
- 酌情使用。
- 尚未經(jīng)過驗證,該版本主要為了兼容mysql8.0。
- 更新十分頻繁。
- 需要JDK8以上。
Maven 倉庫

Mysql版本建議
- 選擇6個月以上的穩(wěn)定版,選擇開源的社區(qū)版的穩(wěn)定版GA版本。
- 考慮開發(fā)人員開發(fā)程序使用的版本是否兼容你選的版本。
- 優(yōu)先企業(yè)非核心業(yè)務采用新版本的數(shù)據(jù)庫GA版本軟件。
- 需要嘗試新特性的,多關(guān)注Mysql的版本發(fā)布通知。
- 用到JSON等新特性的,可以考慮5.7。
- 保守的可以選擇5.6。
- 一般云服務提供的版本大多是5.6、5.7。
JDBC連接池選擇
選擇連接池時,需要考慮的因素很多,比如綜合性能,可靠性,穩(wěn)定性,擴展性等。網(wǎng)上也有很多測評的文章,這里不多做介紹,把結(jié)論說一下。
參考
Druid之各種連接池性能對比測試
HikariCP基準測試
性能
- hikariCP>druid>tomcat-jdbc>dbcp>c3p0
- hikariCP 的性能十分優(yōu)異,號稱java平臺最快的數(shù)據(jù)庫連接池。
- hikariCP在并發(fā)較高的情況下,性能基本上沒有下降。
- 從字節(jié)碼的維度優(yōu)化代碼。讓方法盡量在35個字節(jié)碼一下,來提升jvm的處理效率。 (default inline threshold for a JVM running the server Hotspot compiler is 35 bytecodes )
擴展性
- 阿里巴巴出品的druid功能最為全面。
- 可視化監(jiān)控,統(tǒng)計數(shù)據(jù)較為全面。
- 當然,如果使用的是云數(shù)據(jù)庫,云數(shù)據(jù)庫已經(jīng)自帶了大量監(jiān)控指標。
總結(jié)
如果對監(jiān)控和跟蹤沒有要求,可以使用hikariCP, 如果有監(jiān)控方面的需求,可以使用druid。我公司主要是用云數(shù)據(jù)庫,所以基本都是使用hikariCP,優(yōu)化一下配置,性能會很棒。
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
springboot使用redis實現(xiàn)從配置到實戰(zhàn)
本文主要介紹了springboot使用redis ,采用的是RedisTemplate的形式,還有一種采用spring支持的注解進行訪問緩存,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-08-08
Java使用CountDownLatch實現(xiàn)網(wǎng)絡同步請求的示例代碼
CountDownLatch 是一個同步工具類,用來協(xié)調(diào)多個線程之間的同步,它能夠使一個線程在等待另外一些線程完成各自工作之后,再繼續(xù)執(zhí)行。被將利用CountDownLatch實現(xiàn)網(wǎng)絡同步請求,異步同時獲取商品信息組裝,感興趣的可以了解一下2023-01-01
如何構(gòu)建可重復讀取inputStream的request
這篇文章主要介紹了如何構(gòu)建可重復讀取inputStream的request,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
IDEA調(diào)試小技巧之Evaluate調(diào)試工具詳解
這篇文章主要介紹了IDEA調(diào)試小技巧之Evaluate調(diào)試工具,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09

