美文网首页
Alibaba-Druid 连接池使用

Alibaba-Druid 连接池使用

作者: 乱世小民 | 来源:发表于2020-06-10 11:21 被阅读0次

Spring Boot 2.0默认连接池为HikariCP,一款号称高性能的连接池。如没特殊要求使用默认连接池就可以,那么我们为什么要使用Druid呢。

  1. Druid也是高性能的, 业界有很多实践
  2. Druid提供很多强大的功能,比如监控,黑白名单,密码加密等

HikariCP 基于spring boot 的metric功能,结合prometheus + grafana也可以实现监控

下面记录下工作中用到的监控和密码加密功能:

使用版本:

        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-starter</artifactId>
            <version>1.1.22</version>
        </dependency>
  1. 密码加密

第一步使用druid jar包提供的加密功能进行密码加密
#进入到druid jar包目录,执行如下命令: root为要加密的密码
java -cp druid-1.0.29.jar com.alibaba.druid.filter.config.ConfigTools root
#执行结果
privateKey:MIIBVAIBADANBgkqhkiG9w0BAQEFAASCAT4wggE6AgEAAkEApi859CGNz0R5LBUkiRSepo5c4YBZZS/PNGPCUSIA0pd9Tjb7IHMdJavhpRscdFdYdS5RhwtkCuVjooUj0UaCewIDAQABAkArcds3vHHjRqZa5OgZQh+7sSoM9c3pCxejPZU2Oqp2YyDo63nIooTU8/Pc+uxhbBpDelDugP8mH0tgPGVGtkwRAiEA8mpCLpzsGiFZsaeHVplwujGT0MhvQdcfXAQya6bXqSkCIQCvf1i0fEp9caeCM7cLnR+r0pqhmsPqCKUAK2DYyEkvAwIhAOIP7YACnrsPdtGRZUiA9vrr2OjOwdIohvoMf+icQmlhAiBC+mMsXtM/FQVNF9egQxM3TGVfj+V9iFcQvX10vtvPaQIgQIWoMuOp0pnX9bozIq7ERoXg3PNVYkJpIoKNY9RPjag=
publicKey:MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKYvOfQhjc9EeSwVJIkUnqaOXOGAWWUvzzRjwlEiANKXfU42+yBzHSWr4aUbHHRXWHUuUYcLZArlY6KFI9FGgnsCAwEAAQ==
password:ZWIqZ8YP+e6LKDIR2pkrH3ucyAsLk00s4r3AcnJOeEGB4agUMZkegUK7w4Y76PBNYQxXx0nEGe7PMn75Q5Q/qQ== 
第二步进行yaml文件配置
 datasource:
   url: jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
    username: root
  #  第一步生成的密码
    password: ZWIqZ8YP+e6LKDIR2pkrH3ucyAsLk00s4r3AcnJOeEGB4agUMZkegUK7w4Y76PBNYQxXx0nEGe7PMn75Q5Q/qQ==
    # 第一步生成的publicKey
    public-key: MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKYvOfQhjc9EeSwVJIkUnqaOXOGAWWUvzzRjwlEiANKXfU42+yBzHSWr4aUbHHRXWHUuUYcLZArlY6KFI9FGgnsCAwEAAQ==
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
     # 开启config的filter
      filters: config
     #  设置启用秘密,以及密钥key
      connection-properties:config.decrypt=true;config.decrypt.key=${spring.datasource.public-key}
第三步启动项目测试是否成功
  1. 开启监控日志

配置文件:

 datasource:
    driver-class-name: com.mysql.jdbc.Driver
    type: com.alibaba.druid.pool.DruidDataSource
    druid:
     # 扩展插件:stat监控统计,wall防SQL注入等
      filters: stat,wall
      web-stat-filter:
       # 是否启用统计监控,可进行添加配置进行详细控制
        enabled: true
      stat-view-servlet:
       # 开启监控页面
        enabled: true
       # 页面登录账号密码
        login-username: test
        login-password: test
        # 运行访问的白名单,不设置任何可访问,必须配置。如不配置只可单机访问 
        allow:
       # 黑名单
        deny:
      connection-properties: druid.stat.mergeSql=true;druid.stat.slowSqlMillis=500
      use-global-data-source-stat: true

启动项目后访问:http://localhost:8080/druid/login.html

image.png
输入配置文件设置的账号密码,即可进入查看各种监控数据 image.png

相关文章

  • Alibaba-Druid 连接池使用

    Spring Boot 2.0默认连接池为HikariCP,一款号称高性能的连接池。如没特殊要求使用默认连接池就可...

  • Redis连接池的使用

    1 . 安装 2 . 注册 redis 连接池 使用连接池

  • 连接池原理

    什么是连接池 上游对下游发起的请求,比如数据库连接池crud操作 为什么使用连接池? 如果不使用连接池,每次请求到...

  • 撩课-JavaWeb之什么是连接池与连接池使用

    什么是连接池 没有连接池的情况 数据库连接池 池 连接池 作用 数据库连接池 示意图 连接池中的属性 连接池使用 ...

  • Druid连接池

    例子:添加druid依赖: 使用原生的连接池: 使用druid连接池: 使用Filters进行监控统计:上面的配置...

  • 数据库连接池,wtforms的使用

    目录 数据库连接池pymsql链接数据库数据库连接池版 wtforms的使用使用1使用2 16.数据库连接池 py...

  • redis模块和django-redis组件

    redis模块使用 基本使用 连接池 哈希操作 连接池 django-redis组件 摘自 django-redi...

  • JDBC Druid数据库连接池

    Druid数据库连接池 使用Druid数据库连接池技术

  • Redis的两种连接方式

    1.简单连接 2.使用连接池 为了减少每次建立、释放连接的开销,推荐使用连接池 redis使用connection...

  • golang 数据库连接池

    简介 本文介绍如何使用gorm 2 连接池的使用代码例子,该连接池支持Mysql、postgres、sqlite三...

网友评论

      本文标题:Alibaba-Druid 连接池使用

      本文链接:https://www.haomeiwen.com/subject/srrjdxtx.html