詳解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進(jìn)行替代,見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.**版本
- 建議使用。
- 長期維護(hù)更新的版本,最新一版是Jul, 2019維護(hù)的5.1.48版本。
- 對應(yīng)mysql版本5.6、5.7、8.0都可以放心使用
6.0.**版本
- 禁止使用。
- 只有幾個release版本,沒有安全感,已經(jīng)有一段時間不維護(hù)。
- 與5.1.**存在一些兼容性的問題。
8.0.**版本
- 酌情使用。
- 尚未經(jīng)過驗證,該版本主要為了兼容mysql8.0。
- 更新十分頻繁。
- 需要JDK8以上。
Maven 倉庫
Mysql版本建議
- 選擇6個月以上的穩(wěn)定版,選擇開源的社區(qū)版的穩(wěn)定版GA版本。
- 考慮開發(fā)人員開發(fā)程序使用的版本是否兼容你選的版本。
- 優(yōu)先企業(yè)非核心業(yè)務(wù)采用新版本的數(shù)據(jù)庫GA版本軟件。
- 需要嘗試新特性的,多關(guān)注Mysql的版本發(fā)布通知。
- 用到JSON等新特性的,可以考慮5.7。
- 保守的可以選擇5.6。
- 一般云服務(wù)提供的版本大多是5.6、5.7。
JDBC連接池選擇
選擇連接池時,需要考慮的因素很多,比如綜合性能,可靠性,穩(wěn)定性,擴(kuò)展性等。網(wǎng)上也有很多測評的文章,這里不多做介紹,把結(jié)論說一下。
參考
Druid之各種連接池性能對比測試
HikariCP基準(zhǔn)測試
性能
- 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 )
擴(kuò)展性
- 阿里巴巴出品的druid功能最為全面。
- 可視化監(jiān)控,統(tǒng)計數(shù)據(jù)較為全面。
- 當(dāng)然,如果使用的是云數(shù)據(jù)庫,云數(shù)據(jù)庫已經(jīng)自帶了大量監(jiān)控指標(biāo)。
總結(jié)
如果對監(jiān)控和跟蹤沒有要求,可以使用hikariCP, 如果有監(jiān)控方面的需求,可以使用druid。我公司主要是用云數(shù)據(jù)庫,所以基本都是使用hikariCP,優(yōu)化一下配置,性能會很棒。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Lombok中@Builder和@SuperBuilder注解的用法案例
@Builder?是?lombok?中的注解,可以使用builder()構(gòu)造的Person.PersonBuilder對象進(jìn)行鏈?zhǔn)秸{(diào)用,給所有屬性依次賦值,這篇文章主要介紹了Lombok中@Builder和@SuperBuilder注解的用法,需要的朋友可以參考下2023-01-01ShardingSphere結(jié)合MySQL實現(xiàn)分庫分表的項目實踐
在實際開發(fā)中,如果表的數(shù)據(jù)過大我們需要把一張表拆分成多張表,本文主要介紹了使用ShardingSphere實現(xiàn)MySQL分庫分表,具有一定的參考價值,感興趣的可以了解一下2024-03-03SpringBoot生產(chǎn)環(huán)境和測試環(huán)境配置分離的教程詳解
這篇文章主要介紹了SpringBoot生產(chǎn)環(huán)境和測試環(huán)境配置分離的教程詳解,需要的朋友可以參考下2020-08-08SpringMVC自定義類型轉(zhuǎn)換器實現(xiàn)解析
這篇文章主要介紹了SpringMVC自定義類型轉(zhuǎn)換器實現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-12-12