`
wenshao
  • 浏览: 271433 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

阿里巴巴开源平台新增项目Druid

阅读更多
阿里巴巴开源平台新增项目Druid
http://code.alibabatech.com/wiki/display/Druid/Home

Druid是什么?

Druid是一个JDBC组件,它包括三部分:

DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。
DruidDataSource 高效可管理的数据库连接池。
SQLParser

Druid可以做什么?

1) 可以监控数据库访问性能,Druid内置提供了一个功能强大的StatFilter插件,能够详细统计SQL的执行性能,这对于线上分析数据库访问性能有帮助。
2) 替换DBCP和C3P0。Druid提供了一个高效、功能强大、可扩展性好的数据库连接池。
3) 数据库密码加密。直接把数据库密码写在配置文件中,这是不好的行为,容易导致安全问题。DruidDruiver和DruidDataSource都支持PasswordCallback。
4) SQL执行日志,Druid提供了不同的LogFilter,能够支持Common-Logging、Log4j和JdkLog,你可以按需要选择相应的LogFilter,监控你应用的数据库访问情况。
扩展JDBC,如果你要对JDBC层有编程的需求,可以通过Druid提供的Filter-Chain机制,很方便编写JDBC层的扩展插件。

如何获得Druid?
目前Druid是一个开源项目,基于Apache License 2.0,将于2011年5月20日之前发布第一个版本0.1。在正式版本发布之前,你可以直接访问svn获得源码。
http://code.alibabatech.com/svn/druid/trunk/

如下是一个基于Druid内置扩展StatFilter的监控实现:


  • 大小: 142.1 KB
分享到:
评论
28 楼 yunchow 2011-05-12  

try {
                x.close();
            } catch (SQLException e) {
                e.printStackTrace();
            }

}



这种异常处理????
27 楼 anranran 2011-05-12  
代码怎么没点注释
26 楼 agapple 2011-05-12  
还有LZ,代码里的一些异常处理修正下把。

 } catch (InterruptedException e) {
                    break;
                } catch (SQLException e) {
                    e.printStackTrace();
                } finally {
                    lock.unlock();
                }
            }
25 楼 agapple 2011-05-12  
1. 不错的idea,使用了ReentrantLock替换了dbcp中大量的synchronized。性能上理论是有一定的提升,这个不用怀疑。
2. 稳定性上有待考虑,毕竟我们关注的不仅仅是性能,稳定还是很重要。LZ可以举一下实际项目中的应用场景的一些数据,这样就最好了。比如数据库自动重连,statememt cache上(以前的dbcp跑一段时间后,cahce后的statement会出现半断开的情况)
3. 功能欠完善,大致看了下pool池的代码:http://code.alibabatech.com/svn/druid/trunk/src/main/java/com/alibaba/druid/pool/DruidDataSource.java,虽然参数上都支持了,貌似有些参数还是摆设把。比如idleTime(空闲链接管理),心跳检查
4. 希望可以弥补dbcp的一些不足,可以管理下底层socket的超时时间(connectionTimeout, soTimeout),可以控制下每次创建connection的时间,避免无限制阻塞

自己使用dbcp过程中的一些不足和意见,LZ可以考虑下。


24 楼 sohoku 2011-05-12  
<p>svn无法checkout,“无法连接至服务器”</p>
<p> </p>
<p>另外有个问题就是,代码注释太少</p>
23 楼 sohoku 2011-05-12  
wenshao 写道
leibos 写道
wenshao 写道
Asdpboy 写道
一上来就是阿里的巴巴开源项目,难道阿里的代码连统一的规范都没有?


谢谢指出问题,已经格式化过提交了 

问一下,你们公司是专门拨钱来搞这块开源平台吗?还是你们屁股坐不住,要折腾一下?


现在开源平台的几个项目,都是内部使用的,然后从内部项目发展为开源项目。

据我所知的,阿里巴巴很重视开源平台的建设,包括CTO Andy都会过问开源平台进度的事情。

当然,要经营好一个开源平台不是容易的事情,目前阿里巴巴的开源平台还不够完善的,项目也还不够丰富,缺少外部开发人员参与,我们也缺乏经营开源项目的经验,都得一步一步来,慢慢成长。

我们需要大家的支持和反馈! 

支持阿里在开源方面所做出的努力,打破国外的技术垄断,不然咱们怎么进步,退一步讲也是方便咱们的工作,学到更多的东西。
22 楼 perzer 2011-05-12  
跟P6Spy差不多吧!
21 楼 Reset 2011-05-12  
使用了代理模式,貌似jdbclog
20 楼 xb_myth 2011-05-12  
相当有实用价值的项目,谢谢分享
什么时候能进阿里看看呢?我的理想啊。。。
19 楼 neptune 2011-05-12  
应该说明实际在项目中是否使用了?使用在什么项目上?吞吐量如何?相应时间?等等?
18 楼 beneo 2011-05-12  
既然是自己的项目,为什么不用中文的???难道觉得自己的英文很local??
17 楼 beneo 2011-05-12  
感觉很棒,下来看看
16 楼 wenshao 2011-05-11  
leibos 写道
wenshao 写道
Asdpboy 写道
一上来就是阿里的巴巴开源项目,难道阿里的代码连统一的规范都没有?


谢谢指出问题,已经格式化过提交了 

问一下,你们公司是专门拨钱来搞这块开源平台吗?还是你们屁股坐不住,要折腾一下?


现在开源平台的几个项目,都是内部使用的,然后从内部项目发展为开源项目。

据我所知的,阿里巴巴很重视开源平台的建设,包括CTO Andy都会过问开源平台进度的事情。

当然,要经营好一个开源平台不是容易的事情,目前阿里巴巴的开源平台还不够完善的,项目也还不够丰富,缺少外部开发人员参与,我们也缺乏经营开源项目的经验,都得一步一步来,慢慢成长。

我们需要大家的支持和反馈! 
15 楼 eliot1949 2011-05-11  
leibos 写道
wenshao 写道
Asdpboy 写道
一上来就是阿里的巴巴开源项目,难道阿里的代码连统一的规范都没有?


谢谢指出问题,已经格式化过提交了 

问一下,你们公司是专门拨钱来搞这块开源平台吗?还是你们屁股坐不住,要折腾一下?

这话真不好听。
14 楼 leibos 2011-05-11  
wenshao 写道
Asdpboy 写道
一上来就是阿里的巴巴开源项目,难道阿里的代码连统一的规范都没有?


谢谢指出问题,已经格式化过提交了 

问一下,你们公司是专门拨钱来搞这块开源平台吗?还是你们屁股坐不住,要折腾一下?
13 楼 wenshao 2011-05-11  
Asdpboy 写道
一上来就是阿里的巴巴开源项目,难道阿里的代码连统一的规范都没有?


谢谢指出问题,已经格式化过提交了 
12 楼 leibos 2011-05-11  
Asdpboy 写道
一上来就是阿里的巴巴开源项目,难道阿里的代码连统一的规范都没有?

阿里也就那样,别把他们太神化。班照样加,喝多了也吐。不过不知最近阿里在搞什么飞机,整一个开源平台出来。要是开源一些核心的东西,倒还不错。开源一些大家都不需要用的,因为开源界里已经很多,也就是装点装点阿里的门面了。
11 楼 Asdpboy 2011-05-11  
一上来就是阿里的巴巴开源项目,难道阿里的代码连统一的规范都没有?
10 楼 skzr.org 2011-05-11  
bastengao 写道
日志支持 slf4j 吗

从pom.xml中摘录出来的,那么可以使用jcl-slf4j替换commons-logging到slf4j来支持slf4j的。
<dependency>
			<groupId>commons-logging</groupId>
			<artifactId>commons-logging</artifactId>
			<version>1.1.1</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>org.springframework</groupId>
			<artifactId>spring</artifactId>
			<version>2.5.6</version>
			<scope>provided</scope>
		</dependency>
		<dependency>
			<groupId>log4j</groupId>
			<artifactId>log4j</artifactId>
			<version>1.2.16</version>
			<scope>provided</scope>
		</dependency>


在其源代码中也寻找了日志的身影,看到有个logging包,没有仔细研究
slf4j 兄弟你一般也就是用log4j吧??
我不喜欢用common-logging!
9 楼 bastengao 2011-05-11  
日志支持 slf4j 吗

相关推荐

    druid.rar阿里巴巴开源数据库连接池

    Druid为监控而生的数据库连接池,它是阿里巴巴开源平台上的一个项目。Druid是Java语言中最好的数据库连接池,Druid能够提供强大的监控和扩展功能.它可以替换DBCP和C3P0连接池。Druid提供了一个高效、功能强大、可...

    druid-0.2.19 阿里数据源

    `Druid` 是阿里巴巴开源的一款高效、强大的数据库连接池组件,全称为 Dynamic Resoult Set(动态结果集),版本号为 `0.2.19`。作为 Java 开发者,了解并掌握 Druid 数据源对于优化数据库访问性能具有重要意义。 1....

    阿里巴巴druid连接池

    阿里巴巴数据连接池druid,性能远超dpcb和c3p0,资源来自maven仓库

    阿里巴巴数据源驱动druid

    Druid作为开源项目,被广泛应用于大型互联网企业和传统企业的各种系统中,其主要特性包括性能监控、连接池管理、SQL解析以及扩展性。 1. **连接池管理**: Druid提供了一个强大的数据库连接池,它可以有效地管理和...

    阿里巴巴的开源项目JDBC连接池、监控组件 Druid.zip

    Druid是阿里巴巴的一款java开源的为监控而生的数据库连接池组件。Druid是一个JDBC组件,它包括三部分: DruidDriver 代理Driver,能够提供基于Filter-Chain模式的插件体系。 DruidDataSource 高效可管理的数据库...

    阿里巴巴数据库连接池druid及其源码

    Druid是阿里巴巴开源的一款高效、强大且可扩展的数据库连接池组件。作为Java世界中的优秀数据源管理工具,它不仅提供了基础的数据库连接池功能,还内置了丰富的监控和扩展特性,为开发人员带来了极大的便利。 1. **...

    阿里巴巴Web及框架简介

    7. **集成其他优秀技术**:Webx与其他阿里巴巴开源项目,如Dubbo(服务治理框架)、Druid(数据库连接池)等深度集成,提供了一站式的解决方案。 "Webx及框架简介"的PPT文件可能涵盖了框架的基本概念、安装配置、...

    阿里巴巴数据库连接池完整demo,很好的例子

    Druid作为阿里巴巴开源的一款优秀连接池,它具有以下主要特点: 1. **性能优化**:Druid通过内部的连接池算法,实现了高效的连接管理和复用,提升了数据库操作的性能。 2. **监控和扩展性**:内置的监控统计功能,...

    druid-1.2.8-API文档-中英对照版.zip

    赠送jar包:druid-1.2.8.jar; 赠送原API文档:druid-1.2.8-javadoc.jar; 赠送源代码:druid-1.2.8-sources.jar; 赠送Maven依赖信息文件:druid-1.2.8.pom; 包含翻译后的API文档:druid-1.2.8-javadoc-API文档-...

    阿里巴巴druid发展计划

    阿里巴巴druid

    druid-1.2.8-API文档-中文版.zip

    赠送jar包:druid-1.2.8.jar; 赠送原API文档:druid-1.2.8-javadoc.jar; 赠送源代码:druid-1.2.8-sources.jar; 赠送Maven依赖信息文件:druid-1.2.8.pom; 包含翻译后的API文档:druid-1.2.8-javadoc-API文档-...

    druid 阿里 开源项目

    druid 是阿里 的一个开源项目 可详细监视 系统性能

    druid-1.0.2阿里巴巴最新版本

    druid-1.0.2阿里巴巴最新版本

    阿里巴巴的10款开源项目.docx

    阿里巴巴的10款开源项目 阿里巴巴的10款开源项目涵盖了多个领域,包括框架、服务框架、JavaScript 框架、AOP 框架、数据访问框架、Web 框架、MVC 框架、Canvas 图形框架、NodeJs 框架、数据库连接池、JSON 解析器、...

    基于Java开发的阿里巴巴数据库事业部druid连接池设计源码

    该开源项目为阿里巴巴数据库事业部精心打造的druid连接池设计源码,包含4689个文件,涵盖4069个Java源文件、297个SQL脚本、102个文本文件以及其他多种文件类型。druid连接池以其独特的监控功能,旨在为数据库连接...

    阿里巴巴的10款开源项目.pdf

    阿里巴巴作为全球知名的科技巨头,其在开源领域贡献了大量的优秀项目,涵盖了从开发框架到组件的各种类型。以下将详细解析这些项目及其特点: 1. **React-web**:React-web 是一个框架,目标是让React Native的API...

    阿里Druid连接池技术需要的jar包

    阿里Druid连接池是阿里巴巴开源的一款高性能的数据库连接池组件,它在Java应用程序中扮演着重要的角色,特别是在大型分布式系统中,对数据库连接的管理、监控和优化具有显著的效果。Druid提供了强大的监控和扩展功能...

    SpringBoot集成阿里巴巴Druid监控的示例代码

    SpringBoot集成阿里巴巴Druid监控的示例代码是指在SpringBoot项目中集成阿里巴巴开源的数据库连接池Druid,以实现对数据库操作的监控功能。Druid是阿里巴巴开源的数据库连接池,提供了优秀的对数据库操作的监控功能...

    druid-1.1.9_德鲁伊1.1.9_durid-1.1.9_druid-1.1.9.jar_阿里巴巴德鲁伊连接池_

    德鲁伊(Druid)是阿里巴巴开源项目中的一个高性能、功能强大的数据库连接池实现,版本1.1.9是其在2016年发布的一个稳定版本。在Java开发中,数据库连接池是管理和复用数据库连接的重要工具,能够显著提高系统性能,...

    阿里巴巴的10款开源项目 (2).docx

    阿里巴巴作为全球知名的科技巨头,其在开源领域贡献了大量的优秀项目,涵盖了从框架、组件到工具的各个层面。以下是对这些项目的详细介绍: 1. **React Web**:这是一个专门为使用React Native API构建的Web应用...

Global site tag (gtag.js) - Google Analytics