nacos适配达梦数据库

前言

随着数字化转型的加速,配置管理在微服务架构中变得越来越重要。Nacos 作为阿里巴巴开源的服务发现和配置管理工具,已被广泛应用于各种云原生场景。达梦数据库(DM)是中国领先的国产数据库产品,支持广泛的企业级应用。本文将介绍如何在 Nacos 中适配达梦数据库,实现配置管理的国产化。

Nacos 配置管理介绍

Nacos 提供了配置管理功能,支持动态配置更新,使得微服务架构中的配置管理更加灵活和高效。

达梦数据库介绍

达梦数据库是一款关系型数据库管理系统,具有高性能、高可用性、易于维护等特点,广泛应用于政府、金融、电信等行业。

适配的必要性

随着国产化进程的推进,越来越多的企业选择使用国产数据库产品。适配Nacos与人大金仓数据库,可以为企业提供一个稳定、高效的服务发现和配置管理解决方案。

环境准备

在开始之前,请确保您已经准备好以下环境:

Nacos:下载nacos源码并构建
达梦数据库:安装并启动达梦数据库。
JDK:确保已安装 JDK 1.8 或以上版本。

nacos适配人大金仓数据库介绍

Nacos从2.2.0版本开始,可通过SPI机制注入多数据源实现插件,并在引入对应数据源实现后,便可在Nacos启动时通过读取application.properties配置文件中spring.datasource.platform配置项选择加载对应多数据源插件

Nacos默认提供Derby以及MySQL的实现 如果需要支持dm 可先下载官方插件仓库 https://github.com/nacos-group/nacos-plugin

适配步骤

将原有的mysql库迁移到dm中

在提一下,这个最好使用工具来进行迁移 如果遇到 提示 title长度问题
先在mysql的nacos 具体的表中修改title的字段长度 然后在进行迁移 注意如果已经报错的话 先删除dm的上nacos库 或者 删除 dm上 具体的表 然后迁移时候选择具体的表进行迁移

下载nacos 插件仓库 进行达梦实现(已有实现)

通过介绍中 直接下载源码 选择正确分支 并安装到本地即可
install过程中如果遇到 oracle数据源 模块报错 直接在父 pom中注释掉即可
在这里插入图片描述

开始改造

nacos源码构建

在nacos的nacos-datasource-plugin module中添加依赖

<dependency>
    <groupId>com.alibaba.nacos</groupId>
    <artifactId>nacos-dm-datasource-plugin-ext</artifactId>
    <version>1.0.0-SNAPSHOT</version>
</dependency>

配置修改

修改数据库连接 以及 数据库相关配置

在nacos-console module 的application.properties配置文件中,修改数据库配置:


spring.sql.init.platform=dm
### Count of DB:
db.num=1

### Connect URL of DB:
# db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
# db.user=nacos
# db.password=nacos

db.url.0=jdbc:dm://dm服务地址:5236/nacos?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&serverTimezone=Asia/Shanghai
db.user.0=
db.password.0=xx
db.pool.config.driverClassName=dm.jdbc.driver.DmDriver

在 nacos-console module中 修改主启动类Nacos 增加启动为单体模式 方便我们本地调试

@SpringBootApplication
@ComponentScan(basePackages = "com.alibaba.nacos", excludeFilters = {
        @Filter(type = FilterType.CUSTOM, classes = {NacosTypeExcludeFilter.class}),
        @Filter(type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class}),
        @Filter(type = FilterType.CUSTOM, classes = {AutoConfigurationExcludeFilter.class})})
@ServletComponentScan
public class Nacos {
    
    public static void main(String[] args) {
        //新增配置  启动为单体模式
        System.setProperty(Constants.STANDALONE_MODE_PROPERTY_NAME, "true");
        SpringApplication.run(Nacos.class, args);
    }
}

启动Nacos

启动Nacos服务,检查是否能够成功连接到达梦数据库,并正常工作。

测试验证

通过Nacos控制台进行服务注册、配置管理等操作,验证适配是否成功。

构建 使用

测试验证没问题后 即可打成jar 发到指定环境中了

mvn clean package -DskipTests=true
# nacos文件
cd distribution/target/nacos-server-{version}/

注意事项

驱动兼容性:确保使用的 JDBC 驱动与达梦数据库版本兼容。
SQL 语法:部分 SQL 语法可能需要根据达梦数据库的语法进行调整。
性能测试:在生产环境部署前,建议进行性能测试以确保系统稳定运行。

总结

通过适配达梦数据库,Nacos 可以更好地服务于使用国产数据库的企业和应用。这不仅提升了系统的自主可控性,还有助于推动国产软件生态的发展。


good day!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值