阿里為什麼放棄Druid連接池?

一、dubbo被阿里放棄原因

在阿里的技術棧中,Dubbo曾經是非常重要的一環, 但是隨着時代的變遷,Dubbo出現了一些問題。相較於Spring Cloud,Dubbo的文檔較為簡單,並沒有太多實踐的案例示範。而且,它的社區與Spring Cloud相比比較小,問題的解決速度也相對較慢。除此之外,阿里較早的將Dubbo推向開源社區,追求技術的成熟和穩定性,相較於開源社區的基礎設施構建,Dubbo大而全的特性也不再適應如今的快速迭代和微服務的發展。

二、阿里巴巴Druid連接池

在阿里對於連接池技術問題上,項目Druid連接池曾經是一個不錯的選擇。Druid連接池的知名度非常高,它是一款功能強大而且性能非常出色的Java數據庫連接池。Druid連接池的開發人員之一付亮說道:“相比於其他連接池,Druid在性能和穩定性方面一直佔據較高的位置。”Druid連接池提供了全面的監控和擴展方式,支持防篡改功能,並且由於其健壯的代碼和良好的擴展性能穩定可靠地工作,因此非常適合作為中小型Web應用程序使用的數據庫連接池。

三、阿里為什麼棄用Druid

然而,隨着大數據和雲計算的不斷普及,傳統的數據庫連接池技術已經不能滿足高性能、高可靠、高並發的需求,並且Druid連接池也逐漸走向了瓶頸。一個單獨的Druid連接池使用實例的負載不容易實現橫向擴展,這也是Druid連接池的一個巨大弱點。同時,Druid連接池的管理和配置也相對複雜,這使得在大規模生產部署時需要耗費很多時間和人力。此外,精益創業的思想也在某種程度上影響了阿里巴巴在技術和架構上的取捨,擁抱雲計算和輕量級的微服務架構被提上了日程。

因此,阿里選擇放棄Druid連接池,探索雲原生下的數據庫連接池限制,比如HikariCP連接池,它是一款純Java輕量型連接池庫,速度極快,能極大地提升應用程序性能,也更適合目前的微服務時代。

四、完整的代碼示例

//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;
    }
}

通過以上示例可以看出,HikariCP連接池配置非常簡單,在Spring Boot中只需加入相關的依賴,再在配置文件中添加相關配置即可輕鬆實現HikariCP連接池的使用。相較於Druid連接池,HikariCP連接池的配置可控性更高,使用更加方便。在雲原生時代,越來越多的人開始選擇HikariCP連接池,它也成為了許多企業中微服務時代下的首選連接池庫。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/291269.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-24 13:14
下一篇 2024-12-24 13:14

相關推薦

  • 阿里雲郵箱主機名

    阿里雲郵箱主機名是指在阿里雲購買並綁定域名後,為郵件服務配置的一個記錄類型。在這篇文章中,我們將從多個方面對阿里雲郵箱主機名進行詳細闡述,幫助您更好地了解它的作用、使用方法和注意事…

    編程 2025-04-27
  • 阿里Python技術手冊

    本文將從多個方面對阿里Python技術手冊進行詳細闡述,包括規範、大數據、Web應用、安全和調試等方面。 一、規範 Python的編寫規範對於代碼的可讀性和可維護性有很大的影響。阿…

    編程 2025-04-27
  • 阿里雲Grass使用指南

    本文將為大家詳細介紹阿里雲Grass平台,包括核心概念、使用場景、基本操作、高級特性等內容,幫助大家全面掌握Grass的使用。 一、核心概念 Grass是阿里雲開發的一款全新PAA…

    編程 2025-04-27
  • Maven配置阿里雲鏡像詳解

    Maven是一個基於項目對象模型(POM)的構建工具,用於管理Java項目的構建、依賴和發布。在使用Maven下載依賴庫時,原始倉庫服務器可能因為網絡原因導致下載速度緩慢或者失敗。…

    編程 2025-04-25
  • 深入理解Druid數據庫連接池配置

    一、數據源配置 首先,我們需要在代碼中配置數據源。Druid支持配置不同類型的數據源,如下所示: @Bean public DataSource druidDataSource()…

    編程 2025-04-24
  • 阿里鏡像庫:解決開發和運維中的痛點

    阿里鏡像庫是一種鏡像服務,旨在解決開發和運維中的痛點,提供了穩定高效的鏡像服務。它是由阿里雲推出的,為用戶提供了一個全面的基礎設施和應用部署工具。 一、方便快捷的鏡像服務 阿里鏡像…

    編程 2025-04-24
  • 阿里百秀介紹及開發實現

    一、什麼是阿里百秀 阿里百秀是一個內容分享社區,用戶可以發布自己的文章、圖片和視頻等內容,其宗旨是讓每個人都可以分享自己的知識和經驗。 阿里百秀提供了優雅的排版和多種豐富的內容展示…

    編程 2025-04-24
  • 阿里雲實名認證全面解析

    一、什麼是阿里雲實名認證? 阿里雲實名認證是指通過正規渠道提供個人或企業信息,以確保其真實有效性,並為其提供雲服務的行為。在阿里雲的使用中,實名認證是一個非常重要的流程,它能夠保障…

    編程 2025-04-23
  • 阿里編碼規範詳解

    一、阿里編碼規範精簡版 如果你只是初學者或者有嚴格的時間限制,可以使用阿里編碼規範的精簡版。這個簡化版是針對 Java 開發者的,它包含了大部分基礎的規範和原則。主要包括: 命名規…

    編程 2025-04-23
  • MongoDB連接池詳解

    MongoDB連接池是一個重要的組件,可以優化MongoDB的訪問性能和資源利用率。在本文中,我們從多個方面探討MongoDB連接池的配置、錯誤、模式、大小、參數設置和代碼實現步驟…

    編程 2025-04-23

發表回復

登錄後才能評論