当前播放: 08 | 那些好用的连接池们:Alibaba Druid
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
课程目录
第一章:初识Spring (4讲)
01 | Spring课程介绍
免费
02 | 一起认识Spring家族的主要成员
免费
03 | 跟着Spring了解技术趋势
免费
04 | 编写你的第一个Spring程序
免费
第二章:JDBC必知必会 (10讲)
05 | 如何配置单数据源
免费
06 | 如何配置多数据源
免费
07 | 那些好用的连接池们:HikariCP
08 | 那些好用的连接池们:Alibaba Druid
09 | 如何通过Spring JDBC访问数据库
10 | 什么是Spring的事务抽象(上)
11 | 什么是Spring的事务抽象(下)
12 | 了解Spring的JDBC异常抽象
免费
13 | 课程答疑(上)
14 | 课程答疑(下)
第三章:O/R Mapping实践 (9讲)
15 | 认识Spring Data JPA
16 | 定义JPA的实体对象
17 | 开始我们的线上咖啡馆实战项目:SpringBucks
18 | 通过Spring Data JPA操作数据库
19 | Spring Data JPA的Repository是怎么从接口变成Bean的
20 | 通过MyBatis操作数据库
21 | 让MyBatis更好用的那些工具:MyBatis Generator
22 | 让MyBatis更好用的那些工具:MyBatis PageHelper
23 | SpringBucks实战项目进度小结
第四章:NoSQL实践 (7讲)
24 | 通过Docker辅助开发
25 | 在Spring中访问MongoDB
26 | 在Spring中访问Redis
27 | Redis的哨兵与集群模式
28 | 了解Spring的缓存抽象
29 | Redis在Spring中的其他用法
30 | SpringBucks实战项目进度小结
第五章:数据访问进阶 (8讲)
31 | Project Reactor介绍(上)
32 | Project Reactor介绍(下)
33 | 通过Reactive的方式访问Redis
34 | 通过Reactive的方式访问MongoDB
35 | 通过Reactive的方式访问RDBMS
36 | 通过AOP打印数据访问层的摘要(上)
37 | 通过AOP打印数据访问层的摘要(下)
38 | SpringBucks实战项目进度小结
第六章:Spring MVC实践 (14讲)
39 | 编写第一个Spring MVC Controller
40 | 理解Spring的应用上下文
41 | 理解请求的处理机制
42 | 如何定义处理方法(上)
43 | 如何定义处理方法(下)
44 | Spring MVC中的视图解析机制(上)
45 | Spring MVC中的视图解析机制(下)
46 | Spring MVC中的常用视图(上)
47 | Spring MVC中的常用视图(下)
48 | 静态资源与缓存
49 | Spring MVC中的异常处理机制
50 | 了解Spring MVC的切入点
51 | SpringBucks实战项目进度小结
52 | 课程答疑
第七章:访问Web资源 (5讲)
53 | 通过RestTemplate访问Web资源
54 | RestTemplate的高阶用法
55 | 简单定制RestTemplate
56 | 通过WebClient访问Web资源
57 | SpringBucks实战项目进度小结
第八章: Web开发进阶 (9讲)
58 | 设计好的RESTful Web Service(上)
59 | 设计好的RESTful Web Service(下)
60 | 什么是HATEOAS
61 | 使用Spring Data REST实现简单的超媒体服务(上)
62 | 使用Spring Data REST实现简单的超媒体服务(下)
63 | 分布式环境中如何解决Session的问题
64 | 使用WebFlux代替Spring MVC(上)
65 | 使用WebFlux代替Spring MVC(下)
66 | SpringBucks实战项目进度小结
第九章:重新认识Spring Boot (8讲)
67 | 认识Spring Boot的组成部分
68 | 了解自动配置的实现原理
69 | 动手实现自己的自动配置
70 | 如何在低版本Spring中快速实现类似自动配置的功能
71 | 了解起步依赖及其实现原理
72 | 定制自己的起步依赖
73 | 深挖Spring Boot的配置加载机制
74 | 理解配置背后的PropertySource抽象
第十章:运行中的Spring Boot (11讲)
75 | 认识Spring Boot的各类Actuator Endpoint
76 | 动手定制自己的Health Indicator
77 | 通过Micrometer获取运行数据
78 | 通过Spring Boot Admin了解程序的运行状态
79 | 如何定制Web容器的运行参数
80 | 如何配置容器支持HTTP/2(上)
81 | 如何配置容器支持HTTP/2(下)
82 | 如何编写命令行运行的程序
83 | 了解可执行Jar背后的秘密
84 | 如何将Spring Boot应用打包成Docker镜像文件
85 | SpringBucks实战项目进度小结
第十一章:Spring Cloud及Cloud Native概述 (5讲)
86 | 简单理解微服务
87 | 如何理解云原生(Cloud Native)
88 | 12-Factor App(上)
89 | 12-Factor App(下)
90 | 认识Spring Cloud的组成部分
第十二章:服务注册与发现 (9讲)
91 | 使用Eureka作为服务注册中心
92 | 使用Spring Cloud Loadbalancer访问服务
93 | 使用Feign访问服务
94 | 深入理解服务发现背后的DiscoveryClient
95 | 使用Zookeeper作为服务注册中心
96 | 使用Consul作为服务注册中心
97 | 使用Nacos作为服务注册中心
98 | 如何定制自己的DiscoveryClient
99 | SpringBucks实战项目进度小结
第十三章:服务熔断 (7讲)
100 | 使用Hystrix实现服务熔断(上)
101 | 使用Hystrix实现服务熔断(下)
102 | 如何观察服务熔断
103 | 使用Resilience4j实现服务熔断
104 | 使用Resilience4j实现服务限流(上)
105 | 使用Resilience4j实现服务限流(下)
106 | SpringBucks实战项目进度小结
第十四章:服务配置 (7讲)
107 | 基于Git的配置中心(上)
108 | 基于Git的配置中心(下)
109 | 基于Zookeeper的配置中心
110 | 深入理解Spring Cloud的配置抽象
111 | 基于Consul的配置中心
112 | 基于Nacos的配置中心
113 | SpringBucks实战项目进度小结
第十五章:Spring Cloud Stream (4讲)
114 | 认识Spring Cloud Stream
115 | 通过Spring Cloud Stream访问RabbitMQ
116 | 通过Spring Cloud Stream访问Kafka
117 | SpringBucks实战项目进度小结
第十六章:服务链路追踪 (6讲)
118 | 通过Dapper理解链路治理
119 | 使用Spring Cloud Sleuth实现链路追踪
120 | 如何追踪消息链路
121 | 除了链路还要治理什么
122 | SpringBucks实战项目进度小结
123 | 结束语
08 | 那些好用的连接池们:Alibaba Druid

08 | 那些好用的连接池们:Alibaba Druid

丁雪丰
平安壹钱包高级架构师,《Spring Boot实战》《Spring攻略》译者,InfoQ社区编辑
123讲 123课时,1300分钟24853
单独订阅¥129
2人成团¥99
33
本节摘要

PDF 课件和源代码下载地址:

https://github.com/geektime-geekbang/geektime-spring-family

猜你喜欢

unpreviewunpreview

展开
登录 后留言

精选留言(44)

  • YY
    希望后面的课程能涉及到spring更深入,更系统性的内容,比如spring具体的扩展点,以及其使用的场景,还有就是更多原理性的东西。现在的内容侧重于应用方面,应用方面的内容在网络上有太多了

    作者回复: 你的建议我们收到了,也有其他同学提到了这个点,希望可以关注下课程大纲哦。
    你关心的扩展点知识在后续的Spring Boot章节里,再讲如何在3.x下实现自动配置前会介绍几个后置处理器,并运用在实现自动配置功能上;原理性的内容我们会挑选一些点展开,比如Repository如何变成Bean的,Spring MVC的DispatcherServlet的请求处理过程、分布式Session、配置加载等等。
    不过,我们并不会所有原理的点都去展开,我做了些选择。

    2019-02-14
    38
  • 康康
    希望设计一些原理相关的东西,使用层面的话,对于大部分买课程的人来说的话,价值不是很大
    2019-02-18
    26
  • null
    期待后续课程能干货满满,讲解一些进阶的知识点。这几节课程跟网络上大多数视频一样,都是简单介绍基本知识。除了基本知识,我们更期待学习到更深层次的内容。

    作者回复: 谢谢,可以关注下课程大纲,虽然不是每课都会展开,但相信还是有你所期望的内容的。

    2019-02-13
    21
  • achenbj
    真的是领入门啊...

    作者回复: 你好,我深刻地理解了你...的含义,这节真的是领入门。关于Druid监控后续还会再展开说一些,但这个课程真的不是讲Druid的……都说授人以鱼不如授人以渔,领入门,让大家知道有这个东西,大概是这样的,后面需要时才好去找对应的材料了解,不是么:-)

    2019-02-13
    13
  • jh.mai
    您好,希望能更多的深入spring体系的内容来讲,感觉还是太简单了
    2019-02-18
    12
  • 馒头大校
    请问,数据库连接池的最大连接数在实际项目中怎么定?有算法吗?是怎么给出的,谢谢。

    作者回复: HikariCP的官网上有篇Wiki专门解答了你这个问题,可以看看:https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing

    2019-02-11
    7
  • binger233
    老师你好,我自己在试代码试,不去把pom.xml里面的HikariCP去掉,效果也一样的。
    那么去掉这个是不是 是多余的呢?

    作者回复: 你自己有配置DataSource后,Spring Boot就不会再做自动配置了,从效果上来说是一样的,但我还是希望你们不要引入项目里实际不用的依赖,明知不用就去掉吧,依赖的东西多了,迟早有一天会坑到自己的。

    2019-03-27
    5
  • Marvelous.
    老师我按照你的github例子做自定义filter,也配置了filter.properties;在运行时总是会提示找不到conn,而且我的before connection和after connection也是没有运行的,请问这是为什么?

    作者回复: resources里还有个druid-filter.properties要写哦

    2019-02-28
    5
  • 我已经设置了昵称
    最好讲下怎么使用druid的监控功能,毕竟这是他的优势

    作者回复: 收到,我考虑下,在答疑时再提一下。

    2019-02-12
    4
  • 翟毅
    演示代码中druid-filter.properties的配置是conn=完整类名吗

    作者回复:
    是的,druid.filters.conn=geektime.spring.data.druiddemo.ConnectionLogFilter 。
    可以在GitHub上看到这个文件:https://github.com/geektime-geekbang/geektime-spring-family/blob/master/Chapter%202/druid-demo/src/main/resources/META-INF/druid-filter.properties

    2019-02-11
    3
  • Geek_0b48f1
    细节不到位啊,至少数据库密码如何得到密文公钥啥的

    作者回复: 我已经带着大家一起看了Druid官方的Wiki,还特别提到了加解密功能,如果你对Druid的使用有兴趣,我觉得更应该去阅读一下官方的Wiki,师傅领进门,修行靠自身,是吧

    2019-08-04
    2
  • Geek_41a090
    druid 怎么配置可执行sql啊?配置了statementExecutableSqlLogEnable=true 打印出来的sql还是占位符

    作者回复: application.properties里添加如下设置
    # 以下两个设置Druid Spring Boot Starter开启SLF4J的Filter
    spring.datasource.druid.filter.slf4j.enabled=true
    spring.datasource.druid.filter.slf4j.statementExecutableSqlLogEnable=true
    # 把druid.sql的日志级别设置为DEBUG
    logging.level.druid.sql=debug

    2019-07-21
    2
  • Eric
    老师你好,我这边配置了两个数据源,用的都是druid,然后是exclude掉了springBoot的自动配置,而该改用手动配置,运行之后PoolingCount:0,CreateCount:0,也就是启动的时候没有创建数据源,我看到有文章说手动配置的话要加上initMethod="init"显示配置一下,但是我加上去了还是没用,请问这是为什么?

    Q2:就算初始化的时候没有创建连接池,可是我后面的代码还有jdbcTemplate的操作,这个时候不应该创建连接池吗?可是我的filter里面的log方法还是没有执行,望老师解答,谢谢。

    作者回复: 在没有init()前的确是还没有创建,但是第一次使用的时候Druid会自己调用init()的,这一点你可以看一下DruidDataSource.getConnection(),然后你再输出一下DruidDataSource就应该能看到有连接创建了,我自己还验证了一下是这样的。

    2019-06-17
    2
  • 星辰
    这一节中 password加密好像没有指出用什么算法加的密 以及公钥的生产

    我的也报错了,这一节我先过了。

    作者回复: 我在课程里讲Druid FAQ的时候提到过了这个地址,可以访问一下,点开里面就有说明的,比如你关心的怎么生成公钥。
    https://github.com/alibaba/druid/wiki/使用ConfigFilter

    至于用的什么算法,Druid用的是RSA,你说程序报错了,虽然不知道你报的是什么错,但我估计是你没有替换JCE Unlimited,所以不支持这个长度的密钥。你可以访问这个下载页面详细了解一下。 https://www.oracle.com/technetwork/java/javase/downloads/jce-all-download-5170447.html

    2019-05-21
    2
  • Michael
    老师您好,请问数据库连接池中的初始化大小设置多少最合适?设置大小的优缺点可以分享一下吗?

    作者回复: HikariCP的官网上有一个说明,建议可以看看 https://github.com/brettwooldridge/HikariCP/wiki/About-Pool-Sizing

    2019-02-22
    2
  • IM差不多先森
    老师,你好,这是我的配置,spring.datasource.druid.initialSize=5 spring.datasource.druid.maxActive=5
    spring.datasource.druid.minIdle=5,但是输出的datasource中ActiveCount,PoolingCount,CreateCount值都为0,这是为什么?(datasource={
    CreateTime:"2019-04-06 17:29:00",
    ActiveCount:0,
    PoolingCount:0,
    CreateCount:0,
    DestroyCount:0,
    CloseCount:0,
    ConnectCount:0,
    Connections:[
    ]
    })
    2019-04-06
    1
  • 枫子翰
    很想知道老师您是怎么知道 Durid 这些特性并使用的?我想从最根源上的 Github 中去看,然而却很多东西都找不着或者找的很费劲,不太想看别人嚼过一遍的博客

    作者回复: 看官方文档,这个占大头;另外就是读源代码,我还给Druid提交过代码。

    2019-03-18
    1
  • Pitt‮口一你了亲‭
    老师,请问一下 这节课 我按你视频上 写了两个一摸一样的类,和一个druid-filter的配置文件, 然后运行结果并没有像你那样是怎么回事。。

    作者回复: 建议你对比一下我github上的代码和配置,应该是你哪里弄错了。用BeyondCompare之类的工具diff一下吧

    2019-03-01
    1
  • J1yoNgSwaggEr
    看了前面之后,产生了想看看源码的冲动
    2019-02-25
    1
  • 感觉侧重点有点偏 ,想了解更多的如何使用, 不同的场景如果配置 ,而不是如何选择, 有哪些优点, 这些了解即可
    2019-02-24
    1
收起评论
看过的人还看
Java并发编程实战

王宝令  资深架构师

50讲 | 15287 人已学习

拼团 ¥79 原价 ¥99
从0开始学架构

李运华  资深技术专家

59讲 | 39042 人已学习

¥99
Java核心技术面试精讲

杨晓峰  前Oracle首席工程师

43讲 | 43365 人已学习

拼团 ¥79 原价 ¥99
MySQL实战45讲

林晓斌  网名丁奇,前阿里资深技术专家

48讲 | 43452 人已学习

¥99