Apache ServiceComb集成MyBatis使用GaussDB开源初体验

举报
yd_278596962 发表于 2024/12/12 16:17:52 2024/12/12
【摘要】 一、开源软件功能介绍Apache ServiceComb是一个实现Open API规范的RPC框架,提供了配置管理、服务发现、动态路由、可观察性和服务治理功能。本次任务的目标是基于 Apache ServiceComb 集成 MyBatis 和 GaussDB,实现微服务中数据库的增、删、改、查功能,并熟悉在华为云上的部署流程。二、开发适配过程及解决的问题本次任务主要分为以下几个阶段:准备阶...

一、开源软件功能介绍

Apache ServiceComb是一个实现Open API规范的RPC框架,提供了配置管理、服务发现、动态路由、可观察性和服务治理功能。

本次任务的目标是基于 Apache ServiceComb 集成 MyBatis 和 GaussDB,实现微服务中数据库的增、删、改、查功能,并熟悉在华为云上的部署流程。

二、开发适配过程及解决的问题

本次任务主要分为以下几个阶段:

  • 准备阶段

根据 开源for Huawei Wiki 的指导:

配置开发环境,安装必要的依赖(如 JDK、Maven)。

克隆官方提供的示例项目,熟悉项目结构和现有功能。

配置鲲鹏服务器及 Euler 操作系统环境,确保开发环境和目标环境一致。

  • 集成 MyBatis 和GaussDB并开发功能

关键步骤:

引入依赖

在 resource-server 的 pom.xml 中添加 MyBatis 相关依赖:

<dependency>
  <groupId>org.mybatis.spring.boot</groupId>
  <artifactId>mybatis-spring-boot-starter</artifactId>
  <version>3.0.4</version>
</dependency>

<dependency>
  <groupId>org.opengauss</groupId>
  <artifactId>opengauss-jdbc</artifactId>
</dependency>

配置数据库连接
application.yml 中配置 GaussDB 数据库信息:

yaml
spring:
  datasource:
    url: jdbc:opengauss://127.0.0.1:5432/postgres?currentSchema=class
   
username: root
    password: root
    driver-class-name: org.opengauss.Driver

# MyBatis配置
mybatis:
  # 搜索指定包别名
 
typeAliasesPackage: org.apache.servicecomb.fence.api.resource
  # 配置mapper的扫描,找到所有的mapper.xml映射文件
 
mapperLocations: classpath*:mapper/*Mapper.xml

  • 开发数据访问层

编写 MyBatis 映射文件(如 UserMapper.xml),并实现增、改、查操作

  • 开发 REST 接口

编写Service接口并实现增、改、查操作

  • 在华为云基于CCE容器完成环境搭建

购买资源:在华为云购买鲲鹏云服务器,选择 Euler 操作系统。

配置容器化部署:根据 Wiki 中的指南,将 resource-server 制作成 Docker 镜像,并推送到华为云 SWR(云容器镜像服务)。

部署到CCE(容器引擎):在 CCE 中创建 Deployment 和 Service,将服务暴露到公网。

  • 接口测试

通过浏览器访问 http://<公网IP>:9090/ui/admin/,使用 Swagger 接口测试功能,验证增、改、查功能是否正常。

三、心得体会

通过本次任务,我对华为的开源生态有了更深的理解,特别是:

  1. GaussDB:华为自研数据库的兼容性和性能非常优秀,特别是与 MyBatis 的适配体验良好。
  2. 鲲鹏云:运行环境稳定,能够快速完成云原生应用的开发和部署。
  3. 开源社区:同时也更深刻理解了开源项目贡献的意义。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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