隨筆-295  評(píng)論-26  文章-1  trackbacks-0

          Druid是什么?

          Druid是一個(gè)JDBC組件,它包括四個(gè)部分:

          http://download.csdn.net/download/feelnature/1580901
          http://tomcat.apache.org/tomcat-8.5-doc/monitoring.html#Enabling_JMX_Remote

          http://download.csdn.net/detail/qq_21163257/9695557

           

          • DruidDriver 代理Driver,能夠提供基于Filter-Chain模式的插件體系。
          • DruidDataSource 高效可管理的數(shù)據(jù)庫(kù)連接池。
          • SQLParser
          • 擴(kuò)展組件
          • Binary: http://code.alibabatech.com/mvn/releases/com/alibaba/druid/0.1.2/druid-0.1.2.jar
          • Source: http://code.alibabatech.com/mvn/releases/com/alibaba/druid/0.1.2/druid-0.1.2-sources.jar

          Druid可以做什么?

          • 可以監(jiān)控?cái)?shù)據(jù)庫(kù)訪(fǎng)問(wèn)性能,Druid內(nèi)置提供了一個(gè)功能強(qiáng)大的StatFilter插件,能夠詳細(xì)統(tǒng)計(jì)SQL的執(zhí)行性能,這對(duì)于線(xiàn)上分析數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)性能有幫助。
          • 替換DBCP和C3P0。Druid提供了一個(gè)高效、功能強(qiáng)大、可擴(kuò)展性好的數(shù)據(jù)庫(kù)連接池。
          • 數(shù)據(jù)庫(kù)密碼加密。直接把數(shù)據(jù)庫(kù)密碼寫(xiě)在配置文件中,這是不好的行為,容易導(dǎo)致安全問(wèn)題。DruidDruiver和DruidDataSource都支持PasswordCallback。
          • SQL執(zhí)行日志,Druid提供了不同的LogFilter,能夠支持Common-Logging、Log4j和JdkLog,你可以按需要選擇相應(yīng)的LogFilter,監(jiān)控你應(yīng)用的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)情況。
          • 擴(kuò)展JDBC,如果你要對(duì)JDBC層有編程的需求,可以通過(guò)Druid提供的Filter機(jī)制,很方便編寫(xiě)JDBC層的擴(kuò)展插件。

          DruidDriver,是一個(gè)ProxyJdbcDriver,它提供了Filter-Chain模式的擴(kuò)展機(jī)制,使得在Jdbc擴(kuò)展編程特別方便。

          Druid提供了一些內(nèi)置的擴(kuò)展機(jī)制,包括StatLogTrace、HA等擴(kuò)展。


          DruidDataSource是一個(gè)數(shù)據(jù)庫(kù)連接池的實(shí)現(xiàn),它的設(shè)計(jì)目標(biāo)是提供一個(gè)當(dāng)前最好的數(shù)據(jù)庫(kù)連接池,在性能、擴(kuò)展性等方面取得最合適的平衡,取代DBCP、C3P0等連接池。

          • 高性能。測(cè)試數(shù)據(jù)表明,Druid比DBCP、C3P0、BoneCP的性能都好很多。具體請(qǐng)看測(cè)試數(shù)據(jù)
          • 可管理性,DruidDataSource本身提供了很多監(jiān)控屬性,具體看這里。DruidDataSource支持StatFilter,具體配置看 這里
          • 可擴(kuò)展性,提供基于Filter-Chain模式的擴(kuò)展機(jī)制。具體自定義擴(kuò)展的例子看這里
          • 替換DBCP,配置和DBCP兼容,可以方便替換DBCP。
          • 適合大規(guī)模應(yīng)用。結(jié)合Alibaba使用數(shù)據(jù)庫(kù)連接池的經(jīng)驗(yàn),避免一些已知問(wèn)題,例如數(shù)據(jù)庫(kù)不可用恢復(fù)之后產(chǎn)生的連接風(fēng)暴問(wèn)題等。

          設(shè)計(jì)

          這是DruidDataSource的設(shè)計(jì)圖示:
          http://code.alibabatech.com/svn/druid/trunk/doc/druid-pool.txt
          如果發(fā)現(xiàn)有亂碼,請(qǐng)選擇utf-8的編碼方式查看。

          Druid提供一個(gè)手工編寫(xiě)的高性能的方便擴(kuò)展的SQL Parser。將會(huì)支持MySQL、Oracle等流行關(guān)系數(shù)據(jù)庫(kù)的SQL Parser。

          Parser組件包括如下幾個(gè)部分:

          • Lexer 詞法解析
          • Parser,Parser包括ExprParser,各種StatementParser。
          • AST, Abstract Syntax Tree。ParserParse出來(lái)的結(jié)果就是AST。
          • Visitor。對(duì)AST做各種處理,比如FormatOutput,遍歷等等。

          簡(jiǎn)介

           

          Druid提供了強(qiáng)大的監(jiān)控功能,能夠監(jiān)控連接池行為和SQL執(zhí)行情況,讓你能夠詳細(xì)了解應(yīng)用的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)行為。

          監(jiān)控對(duì)象

          • Druid的統(tǒng)計(jì)信息定義代碼實(shí)現(xiàn)在com/alibaba/druid/stat下。所有的Stat都全局靜態(tài)變量的方式保存,這樣做使得外部獲取監(jiān)控信息更容易。
          • 獲取Druid監(jiān)控信息的入口是com.alibaba.druid.stat.JdbcStatManager
          • Druid的監(jiān)控統(tǒng)計(jì)信息都是通過(guò)StatFilter來(lái)實(shí)現(xiàn)的,如果你需要數(shù)據(jù)源進(jìn)行監(jiān)控,那你需要啟用StatFilter
           


          大盤(pán)預(yù)測(cè) 國(guó)富論
          posted on 2017-03-21 00:11 華夢(mèng)行 閱讀(282) 評(píng)論(0)  編輯  收藏

          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 乌什县| 彰化县| 萨嘎县| 瑞昌市| 衢州市| 响水县| 陕西省| 金坛市| 育儿| 招远市| 湟中县| 陆良县| 扎赉特旗| 凤山市| 福鼎市| 高唐县| 广丰县| 喀喇沁旗| 镇江市| 平顶山市| 茌平县| 五常市| 屯留县| 上思县| 凤城市| 绥江县| 察雅县| 瑞安市| 县级市| 莒南县| 和田市| 沂水县| 普格县| 元朗区| 东丰县| 龙海市| 宝丰县| 石首市| 长沙县| 班玛县| 深泽县|