# nacos-datasource-plugin-ext **Repository Path**: hawods/nacos-datasource-plugin-ext ## Basic Information - **Project Name**: nacos-datasource-plugin-ext - **Description**: Nacos数据源扩展,支持瀚高 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-01-20 - **Last Updated**: 2026-01-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Nacos 瀚高数据库数据源插件扩展 ## 项目概述 本项目是基于 Nacos 官方库实现的瀚高数据库(HighGo)数据源插件扩展,旨在为 Nacos 提供对瀚高数据库的支持。该插件扩展使 Nacos 能够使用瀚高数据库 v4.5.10 作为其持久化存储后端,丰富了 Nacos 的数据库兼容性。 - **Nacos 版本**: v2.3.2 - **瀚高数据库版本**: v4.5.10 - **Java 版本**: 8+ ## 功能特性 1. **完全兼容 Nacos 数据访问层**: 实现了 Nacos 所需的所有数据访问接口,确保功能完整性 2. **瀚高数据库方言支持**: 提供专门针对瀚高数据库的 SQL 方言处理 3. **完整的数据表结构**: 包含所有必要的 Nacos 表结构定义及索引 4. **安全认证集成**: 支持 Nacos 用户认证系统 5. **多租户支持**: 完整实现 Nacos 的多租户架构 ## 插件架构 瀚高数据库插件扩展位于 `nacos-plugin/nacos-datasource-plugin-ext/nacos-highgo-datasource-plugin-ext` 目录下,主要包括以下组件: ### 核心实现类 - **HighgoDatabaseDialect**: 瀚高数据库方言实现类,提供特定于瀚高数据库的 SQL 处理逻辑 - **ConfigInfoMapperByHighgo**: 配置信息映射器的瀚高数据库实现 - **其他 Mapper 实现**: 包括 ConfigInfoBetaMapperByHighgo、ConfigInfoTagMapperByHighgo 等 ### SQL 脚本 - **nacos-highgo.sql**: 专为瀚高数据库设计的数据表结构脚本,包括: - 配置信息表 (config_info) - 聚合配置表 (config_info_aggr) - Beta 配置表 (config_info_beta) - 标签配置关系表 (config_tags_relation) - 历史配置表 (his_config_info) - 租户信息表 (tenant_info) - 权限管理相关表等 ### 服务注册文件 - **DatabaseDialect 服务注册**: 在 `META-INF/services/com.alibaba.nacos.plugin.datasource.dialect.DatabaseDialect` 中注册瀚高数据库方言 - **Mapper 服务注册**: 在 `META-INF/services/com.alibaba.nacos.plugin.datasource.mapper.Mapper` 中注册所有瀚高数据库专用的映射器 ## 技术实现 ### 数据库方言支持 插件实现了瀚高数据库特有的 SQL 语法,包括: - 分页查询语句(LIMIT 和 OFFSET) - 特定函数支持 - 数据类型适配 ### 数据访问层适配 通过继承基础映射器类并重写相应方法,实现了对瀚高数据库特性的支持: - 使用瀚高数据库特定的序列生成方式 - 优化查询语句以适应瀚高数据库的执行计划 - 兼容瀚高的事务和锁机制 ## 部署指南 ### 1. 环境准备 确保已安装以下软件: - Nacos v2.3.2 - 瀚高数据库 v4.5.10 - Java 8 或更高版本 - Maven 3.6+ ### 2. 编译插件和服务 编译结果在 `nacos/distribution/target` 目录下。 ```bash # 编译插件 cd nacos-plugin mvn clean install -DskipTests # 返回根目录 cd .. # 编译服务 cd nacos mvn -Prelease-nacos -DskipTests clean install -U ``` ### 3. 数据库初始化 执行 [nacos-highgo.sql](nacos-plugin/nacos-datasource-plugin-ext/nacos-highgo-datasource-plugin-ext/src/main/resources/schema/nacos-highgo.sql) 脚本创建所需的表结构: ```sql psql -h hostname -p port -U username -d database -f nacos-highgo.sql ``` ### 4. 配置 Nacos 在 Nacos 的 [application.properties](distribution/conf/application.properties) 文件中配置数据库连接: ```properties # 数据库配置 spring.sql.init.platform=highgo db.num=1 db.url.0=jdbc:highgo://hostname:port/database db.user=username db.password=password db.pool.config.driverClassName=com.highgo.jdbc.Driver ``` ### 5. 启动 Nacos 完成上述配置后,启动 Nacos 服务即可使用瀚高数据库作为数据存储后端。 ## 依赖说明 - **HgdbJdbc**: 瀚高数据库 JDBC 驱动,版本 6.2.4 - **Nacos 基础插件**: 依赖于 nacos-datasource-plugin-ext-base 模块 ## 测试验证 插件已通过以下方面的测试验证: - 配置管理功能 - 命名服务功能 - 多租户支持 - 用户权限管理 - 数据持久化和恢复 ## 许可证 本项目遵循 Apache License 2.0 许可证。