一、dubbo被阿里放棄原因
在阿里的技術(shù)棧中,Dubbo曾經(jīng)是非常重要的一環(huán), 但是隨著時(shí)代的變遷,Dubbo出現(xiàn)了一些問(wèn)題。相較于Spring Cloud,Dubbo的文檔較為簡(jiǎn)單,并沒(méi)有太多實(shí)踐的案例示范。而且,它的社區(qū)與Spring Cloud相比比較小,問(wèn)題的解決速度也相對(duì)較慢。除此之外,阿里較早的將Dubbo推向開(kāi)源社區(qū),追求技術(shù)的成熟和穩(wěn)定性,相較于開(kāi)源社區(qū)的基礎(chǔ)設(shè)施構(gòu)建,Dubbo大而全的特性也不再適應(yīng)如今的快速迭代和微服務(wù)的發(fā)展。
二、阿里巴巴Druid連接池
在阿里對(duì)于連接池技術(shù)問(wèn)題上,項(xiàng)目Druid連接池曾經(jīng)是一個(gè)不錯(cuò)的選擇。Druid連接池的知名度非常高,它是一款功能強(qiáng)大而且性能非常出色的Java數(shù)據(jù)庫(kù)連接池。Druid連接池的開(kāi)發(fā)人員之一付亮說(shuō)道:“相比于其他連接池,Druid在性能和穩(wěn)定性方面一直占據(jù)較高的位置。”Druid連接池提供了全面的監(jiān)控和擴(kuò)展方式,支持防篡改功能,并且由于其健壯的代碼和良好的擴(kuò)展性能穩(wěn)定可靠地工作,因此非常適合作為中小型Web應(yīng)用程序使用的數(shù)據(jù)庫(kù)連接池。
三、阿里為什么棄用Druid
然而,隨著大數(shù)據(jù)和云計(jì)算的不斷普及,傳統(tǒng)的數(shù)據(jù)庫(kù)連接池技術(shù)已經(jīng)不能滿(mǎn)足高性能、高可靠、高并發(fā)的需求,并且Druid連接池也逐漸走向了瓶頸。一個(gè)單獨(dú)的Druid連接池使用實(shí)例的負(fù)載不容易實(shí)現(xiàn)橫向擴(kuò)展,這也是Druid連接池的一個(gè)巨大弱點(diǎn)。同時(shí),Druid連接池的管理和配置也相對(duì)復(fù)雜,這使得在大規(guī)模生產(chǎn)部署時(shí)需要耗費(fèi)很多時(shí)間和人力。此外,精益創(chuàng)業(yè)的思想也在某種程度上影響了阿里巴巴在技術(shù)和架構(gòu)上的取舍,擁抱云計(jì)算和輕量級(jí)的微服務(wù)架構(gòu)被提上了日程。
因此,阿里選擇放棄Druid連接池,探索云原生下的數(shù)據(jù)庫(kù)連接池限制,比如HikariCP連接池,它是一款純Java輕量型連接池庫(kù),速度極快,能極大地提升應(yīng)用程序性能,也更適合目前的微服務(wù)時(shí)代。
四、完整的代碼示例
//HikariCP連接池配置示例
package com.example;
import javax.sql.DataSource;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.zaxxer.hikari.HikariDataSource;
@Configuration
public class AppConfig {
@Bean
public DataSource dataSource() {
HikariDataSource ds = new HikariDataSource();
ds.setJdbcUrl("jdbc:mysql://localhost:3306/spring_test");
ds.setUsername("root");
ds.setPassword("password");
ds.addDataSourceProperty("cachePrepStmts", "true");
ds.addDataSourceProperty("prepStmtCacheSize", "250");
ds.addDataSourceProperty("prepStmtCacheSqlLimit", "2048");
return ds;
}
}
通過(guò)以上示例可以看出,HikariCP連接池配置非常簡(jiǎn)單,在Spring Boot中只需加入相關(guān)的依賴(lài),再在配置文件中添加相關(guān)配置即可輕松實(shí)現(xiàn)HikariCP連接池的使用。相較于Druid連接池,HikariCP連接池的配置可控性更高,使用更加方便。在云原生時(shí)代,越來(lái)越多的人開(kāi)始選擇HikariCP連接池,它也成為了許多企業(yè)中微服務(wù)時(shí)代下的首選連接池庫(kù)。