hikaricp适配华为云&Gaussdb

举报
yd_243587097 发表于 2024/11/18 17:59:31 2024/11/18
【摘要】 HikariCP 是一个高性能的 JDBC 连接池,它在 Java 环境中用于管理数据库连接。它通过提供高效的连接池管理来改善数据库访问性能,广泛应用于需要频繁与数据库交互的应用程序中。HikariCP 的特点包括:主要特点: 1. 高性能:HikariCP 被设计为高性能的 JDBC 连接池,其性能优于许多传统的连接池实现,如 C3P0 和 DBCP。其高效的内部实现使得它能够处理大量并发...

HikariCP 是一个高性能的 JDBC 连接池,它在 Java 环境中用于管理数据库连接。它通过提供高效的连接池管理来改善数据库访问性能,广泛应用于需要频繁与数据库交互的应用程序中。HikariCP 的特点包括:

主要特点:

1. 高性能

HikariCP 被设计为高性能的 JDBC 连接池,其性能优于许多传统的连接池实现,如 C3P0 和 DBCP。其高效的内部实现使得它能够处理大量并发请求,并减少连接的创建和销毁时间。

2. 轻量级

它的代码库非常小,简单且高效,避免了不必要的复杂性。HikariCP 通过尽可能少的操作来减少资源消耗。

3. 优化的连接管理

它使用了许多先进的技术来优化连接池的性能。例如,它支持连接池的连接泄露检测、最大池大小的灵活配置、自动回收等功能。

4. 兼容性好

HikariCP 支持 JDBC 4.0 及以上版本,并且兼容多种数据库。它的配置项非常丰富,用户可以根据需求进行定制化配置。

5. 简单易用

HikariCP 提供了简单直观的 API 和配置项,用户可以快速集成到项目中。

主要配置项:

dataSourceClassNamejdbcUrl:设置数据源类名或 JDBC URL。

usernamepassword:用于设置连接数据库的用户名和密码。

maximumPoolSize:设置连接池中最大连接数。

minimumIdle:设置连接池中最小空闲连接数。

connectionTimeout:设置从连接池获取连接的超时时间。

idleTimeout:连接池中连接的空闲超时时间。

maxLifetime:连接池中连接的最大生命周期。

leakDetectionThreshold:设置连接泄漏的检测阈值。

集成:

HikariCP 可以与大多数框架和容器集成,例如 Spring、Hibernate、MyBatis 等。它是默认的连接池选择之一,在 Spring Boot 中,HikariCP 已经成为默认的数据库连接池实现。

性能优势:

HikariCP 的主要优势在于它的速度和低延迟,它通过最小化同步操作、优化线程管理以及减少资源占用来达到这一点。相比其他连接池,它在高负载情况下表现出更低的延迟和更高的吞吐量。

总的来说,HikariCP 是一个可靠且高效的 JDBC 连接池,适用于对性能要求较高的应用程序。

目前华为云的Gaussdb存在大量适配任务,在开源开发者平台可以看到hikaricp适配Gaussdb的任务,今天就完成一下这个任务。

任务的目的

因为华为云采用了自己的cpu指令集和操作系统,所以可能有些软件不适配。所以诞生了此次任务。我领取的任务适配hikaricp,在华为云上部署,看看适配能够正常运行。

报名流程

  1. 在喜欢的任务上进行报名,填写自己的申请,留下自己的邮箱,之后华为官方会发送任务计划书到邮箱内。
  2. 开通开发者空间,进行实名认证,加入沃土云创计划个人方向。
  3. 进入激励管理》开源共创,进入任务,此时在需求分析节点,提交之前发送到邮箱内的任务计划书。
  4. 提交任务计划书之后,审批后进入开发阶段,阅读任务计划书,了解需要开发的内容。
  5. 此时需要申领服务器,主要是Gaussdb,华为云ECS。
  6. 开发完整之后,在ECS上进行验证。
  7. 测试完成后,可以申请任务验收。将自己的代码分支博文等信息打包成zip文件进行上传。

开发代码

  • 华为云提供了官方demo(https://gitcode.com/HuaweiCloudDeveloper/servicecomb-fence/overview),首先在自己的账号下导入仓库。
  • 现在这个项目是在Mybatis上改的,一些基础的类,例如student已经存在了。所以就不需要再写了
  • 我的项目https://gitcode.com/wsm921225/opensource-demo-hikaricp-241106/overview,分支dev_hikaricp

开发思路

因为mybatis-spring-boot-starter中已经引入hikaricp的包,所以只需要在properties中启用就行,配置如下:

spring:
  datasource:
    url: jdbc:opengauss://ip:port/postgres?currentSchema=class # WARNING: please change ip and port
    username: root
    password: pwd
    driver-class-name: org.opengauss.Driver

    hikari:
      minimum-idle: 5
      maximum-pool-size: 10
      connection-timeout: 20000
      idle-timeout: 300000
      max-lifetime: 1800000

logging:
  level:
    com:
      zaxxer:
        hikari: DEBUG

上云第一步-购买Gaussdb

第二步-购买ECS

    成果访问

    访问 http://公网ip/ui/admin/  点击登录按钮后,页面显示如下

    启用hikaricp的日志如下:

    自此,成功完成hikaricp对接华为云的任务。

    【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
    • 点赞
    • 收藏
    • 关注作者

    评论(0

    0/1000
    抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。