nacos适配人大金仓的数据库

前言

在微服务架构中,服务发现和配置管理是关键组件。Nacos作为一个动态服务发现和配置管理平台,支持多种数据库作为其后端存储。本文将探讨如何在Nacos中适配人大金仓数据库,以及在此过程中的最佳实践。

Nacos简介

Nacos(Naming and Configuration Service)是一个易于使用的平台,用于服务发现、配置管理和服务管理。它支持与Spring Cloud和Kubernetes等微服务生态系统的集成。

人大金仓数据库简介

人大金仓数据库(KingbaseES)是一款具有自主知识产权的关系型数据库管理系统,广泛应用于电子政务、金融、电信等领域。

适配的必要性

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

环境准备

确保已安装人大金仓数据库,并且数据库实例运行正常

下载nacos源码

在nacos适配中 需要修改其源码

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

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

Nacos默认提供Derby以及MySQL的实现 如果需要支持人大金仓需要自行实现相关的数据库操作mapper

本人已经对nacos 扩展数据源 进行了人大金仓实现 源码参见: https://github.com/silent-night-no-trace/nacos-plugin 分支为: feature_kingbase_plugin 需要自行下载源码安装到本地

适配步骤

对nacos 扩展数据源 进行人大金仓实现 略

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

将上一步 下载的nacos-plugin 源码中的 kingbase-nacos sql脚本 导入到人大金仓的数据库上执行

在这里插入图片描述

开始源码改造

编译 构建 过程 略

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

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

在nacos的nacos-datasource-plugin module中的META-INF/services/com.alibaba.nacos.plugin.datasource.mapper.Mapper 添加如下内容

后续即可通过SPI 加载到这些mapper文件

com.alibaba.nacos.plugin.datasource.impl.kingbase.ConfigInfoAggrMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.ConfigInfoBetaMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.ConfigInfoMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.ConfigInfoTagMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.ConfigTagsRelationMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.HistoryConfigInfoMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.TenantInfoMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.TenantCapacityMapperByKingbase
com.alibaba.nacos.plugin.datasource.impl.kingbase.GroupCapacityMapperByKingbase

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

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

nacos.plugin.datasource.log.enabled=true
spring.sql.init.platform=kingbase
#spring.datasource.platform=kingbase
### Count of DB:
db.num=1### Connect URL of DB:
db.url.0=jdbc:kingbase8://ip:port/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=替换为自己的账号
db.password.0=替换为自己的密码
# 配置人大金仓数据库 缺省配置为mysql驱动
db.pool.config.driverClassName=com.kingbase8.Driver

在 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控制台进行服务注册、配置管理等操作,验证适配是否成功。

适配过程中的注意事项

驱动兼容性

确保使用的JDBC驱动与Nacos和人大金仓数据库版本兼容。

总结

适配Nacos与人大金仓数据库,不仅可以提升国产化水平,还能保证系统的稳定性和性能。通过上述步骤,你可以顺利完成适配工作,并在实际项目中应用。

附录

Nacos官方文档:Nacos Documentation
人大金仓数据库官方文档:Kingbase Documentation


good day!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/146068.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

二分查找算法(1) _二分查找_模板

个人主页&#xff1a;C忠实粉丝 欢迎 点赞&#x1f44d; 收藏✨ 留言✉ 加关注&#x1f493;本文由 C忠实粉丝 原创 二分查找算法(1) _二分查找模板 收录于专栏【经典算法练习】 本专栏旨在分享学习算法的一点学习笔记&#xff0c;欢迎大家在评论区交流讨论&#x1f48c; 1. 二…

Redis——持久化策略

Redis持久化 Redis的读写操作都是在内存上&#xff0c;所以Redis性能高。 但是当重启的时候&#xff0c;或者因为特殊情况导致Redis崩了&#xff0c;就可能导致数据的丢失。 所以Redis采取了持久化的机制&#xff0c;重启的时候利用之间持久化的文件实现数据的恢复。 Redis提…

[Matplotlib教程] 02 折线图、柱状图、散点图教程

基于MFCC和CNN的语音情感识别 2 折线图、柱状图、散点图2.1 折线图2.1.1 简单折线图2.1.1 线形和Markevery2.1.2 带误差棒的折线图2.1.3 区间填充和透明度 2.2 柱状图2.2.1 分组柱状图2.2.2 堆叠柱状图2.2.3 横向柱状图 2.3 散点图 我们的网站是 菜码编程&#xff0c;我们的q群…

django项目添加测试数据的三种方式

文章目录 自定义终端命令Faker添加模拟数据基于终端脚本来完成数据的添加编写python脚本编写shell脚本执行脚本需要权限使用shell命令来完成测试数据的添加 添加测试数据在工作中一共有三种方式&#xff1a; 可以根据django的manage.py指令进行[自定义终端命令]可以采用第三方…

2024华为杯数学建模研赛F题建模代码思路文章研究生数学建模

截止2024.8.21 12点 已更新F全部小问的建模和问题一的代码 #### https://docs.qq.com/doc/DVVBUREF2SmFhRUl3F题: 问题1&#xff1a;卫星轨道根数与运动学关系的数学模型 从卫星的轨道根数计算出它在特定时刻的三维位置和速度。轨道根数包括&#xff1a; 1.计算卫星的轨道半径…

Android Studio开发发布教程

本文讲解Android Studio如何发布APP。 在Android Studiobuild菜单栏下点击Generate Singed Bundle/APK…打开对话框。 选择APK点击Next 点击Create New...进行创建

【赵渝强老师】K8s的DaemonSets控制器

DaemonSet控制器相当于在节点上启动了一个守护进程。通过使用DaemonSet可以确保一个Pod的副本运行在 Node节点上。如果有新的Node节点加入集群&#xff0c;DaemonSet也会自动给新加入的节点增加一个Pod的副本&#xff1b;反之&#xff0c;当有Node节点从集群中移除时&#xff0…

KMP整理+个人推导+快速上手理解

整理了一下KMP的写法&#xff1a; 这个是我自己写的&#xff08;个人推导&#xff0c;可能在时间复杂度上表现较弱&#xff0c;但是非常帮助初学者进行理解&#xff01;&#xff09; 下面是代码&#xff0c; ne 是next数组。我这个next数组表示的是&#xff1a; ne[i] : 当s…

Spring Boot框架在高校心理辅导中的实践

2 相关技术简介 2.1Java技术 Java是一种非常常用的编程语言&#xff0c;在全球编程语言排行版上总是前三。在方兴未艾的计算机技术发展历程中&#xff0c;Java的身影无处不在&#xff0c;并且拥有旺盛的生命力。Java的跨平台能力十分强大&#xff0c;只需一次编译&#xff0c;任…

独立站内容营销SOP 1.0 丨出海笔记

提到内容营销&#xff0c;可能很多朋友都听过但没深入做&#xff0c;国内跨境独立站通过内容营销做的大流量的目前不多&#xff0c;哪怕大如 Shein, Anker&#xff0c;大部分时候还是在买量获客的阶段。 但大家只要明白一点即可&#xff1a;内容做得好不好&#xff0c;直接影响…

AD中的PCB的原点怎么设置?

在AD中&#xff0c;可以通过编辑元件的属性或者直接在PCB编辑器中设置原点来设置PCB或元件的原点。 对于PCB设计&#xff0c;你可以在PCB编辑器中直接设置原点。首先&#xff0c;你需要打开你的PCB设计文件。然后&#xff0c;在PCB编辑器中&#xff0c;选择“编辑”菜单下的“原…

在JSP环境配置中遇到的一些问题

本人使用eclipse进行开发&#xff0c;在eclipse中配置环境。 1.安装Tomcat 下载版本为tomcat-9.0.95&#xff1b; 详见教程&#xff1a;tomcat下载安装及配置教程_tomcat安装-CSDN博客 遇到的问题&#xff1a;运行startup.bat会闪退&#xff0c; 解决办法&#xff1a;tomcat…

UI自动化测试(python)Web端4.0

✨博客主页&#xff1a; https://blog.csdn.net/m0_63815035?typeblog &#x1f497;《博客内容》&#xff1a;.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 &#x1f4e2;博客专栏&#xff1a; https://blog.csdn.net/m0_63815035/cat…

众数信科 | CrowdAgents 企业级AI智能体平台

AI大模型在企业落地 还存在很多问题 企业需要什么样的大模型产品 众数信科 CrowdAgents企业级AI智能体平台 平台亮点 01 02 03 核心功能 AI智能体 AI企业智脑 Agent引擎 关于我们 众数信科成立于2021年&#xff0c;由云从科技联合厦门火炬集团、民生电商作为创始股东发起成…

智能仓库|基于springBoot的智能无人仓库管理设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书&#xff08;可指定任意题目&#xff09; 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 互联网发展至今&#xff0c;无论是其理论还是技术都已经成熟&#xf…

【24华为杯数模研赛赛题思路已出】国赛B题思路丨附参考代码丨免费分享

2024年华为杯研赛B题解题思路 B题 WLAN组网中网络吞吐量建模 问题1 请根据附件WLAN网络实测训练集中所提供的网络拓扑、业务流量、门限、节点间RSSI的测试基本信息&#xff0c;分析其中各参数对AP发送机会的影响&#xff0c;并给出影响性强弱的顺序。通过训练的模型&#xff…

数值计算 --- 平方根倒数快速算法(0x5f3759df,这是什么鬼!!!)

平方根倒数快速算法 --- 向Greg Walsh致敬&#xff01; 1&#xff0c;牛顿拉夫逊 已知x&#xff0c;要计算&#xff0c;假设的值为a&#xff0c;则&#xff1a; &#xff0c;&#xff08;式1&#xff09; 如果定义一个自变量为a的函数f(a): 则&#xff0c;令函数f(a)等于0的a就…

高算力芯片的发展

最近参与了2024年北京AI芯片峰会&#xff0c;虽然是讲AI芯片&#xff0c;但因为目前算力主要讲的是智能算力&#xff0c;所以&#xff0c;针对高算力芯片的发展趋势有重点的讲解。之前没有很系统关注这块&#xff0c;这次算是做了全面了解。下面&#xff0c;借用峰会的一些内容…

XXl-SSO分布式单点登录框架

概述 下载地址&#xff1a;https://gitee.com/xuxueli0323/xxl-sso 文档地址&#xff1a;https://www.xuxueli.com/xxl-sso/ 概述 XXL-SSO 是一个分布式单点登录框架。只需要登录一次就可以访问所有相互信任的应用系统。 拥有"轻量级、分布式、跨域、CookieToken均支持…

基于SpringBoot+Vue的时尚美妆电商网站系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 精品专栏&#xff1a;Java精选实战项目源码、Python精…