2509
java实现的数据库连接池有很多,c3p0,dbcp等,还有号称速度最快的HikariCP,并且springboot2.0.2版本默认使用的就是HikariCP。 为什么选用Druid呢? - 性能够好,比c3p0,dbcp强一些 - 经过考验,毕竟是阿里开源出来的项目 - 最关键的是带一个建议的数据库监控 1234567 能监控哪些数据呢?
1. 数据源
2. SQL监控 对执行的MySQL语句进行记录,并记录执行时间、事务次数等
3. SQL防火墙 对SQL进行预编译,并统计该条SQL的数据指标
4. Web应用 对发布的服务进行监控,统计访问次数,并发数等全局信息
5. URI监控 对访问的URI进行统计,记录次数,并发数,执行jdbc数等
6. Session监控 对用户请求后保存在服务器端的session进行记录,识别出每个用户访问了多少次数据库等
7. Spring监控 (按需配置)利用aop对各个内容接口的执行时间、jdbc数进行记录
比较底层的数据库连接池可以看看pool包,在此略过,只讨论监控相关的内容。
统计相关的内容都在stat包中,比较核心的就是DruidStatService,很多服务通过这个类暴露出来,例如统计数据获取等。元数据还可以通过DruidStatManagerFacade获取。
统计页面主要是通过StatViewServlet来注册的,这个类的集成结构是 StatViewServlet -> ResourceServlet -> HttpServlet,就是这个Servlet来映射相关的统计界面的,关于监控页面的源html,可查看support包下的http->resourses
Filter插件,stat功能(监控)、wall功能(sql防火墙)、log4j2功能(监控日志输出),都是以插件的形式配置的
如何配置?想达到的目标效果,监控sql,监控sql防火墙,监控url,监控session,监控spring
先说明一下,监控sql、监控url、基础信息,几乎不怎么需要配置,集成好druid,配置好监控页面,就可以显示
配置大概分为3部分,基础连接池配置,基础监控配置,定制化监控配置
1. 完全使用 .properties配置文件maven的pom文件引入依赖
只引入这个starter即可 <dependency> <groupId>com.alibaba</groupId> <artifactId>druid-spring-boot-starter</artifactId> <version>1.1.9</version> </dependency> 为什么不引入源druid依赖 用IDEA去看 druid-spring-boot-starter项目的pom文件中已经引入了源工程,请勿多此一举,会导致依赖冲突 123456789101112
基础连接池配置,主要是配置数据库的账户密码,还有连接池的参数
spring.datasource.url=jdbc:mysql://数据库的IP:3306/数据库名?characterEncoding=utf-8&useSSL=false&useUnicode=true spring.datasource.username=账户 spring.datasource.password=密码 spring.datasource.driver-class-name=com.mysql.jdbc.Driver # 连接池指定 springboot2.02版本默认使用HikariCP 此处要替换成Druid spring123456
网址:2509 https://www.yuejiaxmz.com/news/view/425071
相关内容
[论文]50款家常素食菜谱木纹咖啡杯
【营养与食品】冰箱存储食物四要四不要
#DIY手工教程# ...
小小卫生间,潜藏的健康隐患还真不少
//post.smzdm.com/ju/ag5v08l/
老年人营养
耿华
生活小窍门作文精彩15篇