当前位置: 首页 > news >正文

网站服务器诊断深圳插画设计公司

网站服务器诊断,深圳插画设计公司,外国人做的古文字网站,网站关键词重要吗背景与目标随着业务发展,需要将原本集成在 RuoYi 单体工程(ruoyi-admin、ruoyi-framework)中的高仙机器人OpenAPI对接与业务逻辑,独立出来,微服务化迁移到 ruoyi-modules-robot 和 ruoyi-api-robot,实现服务…

背景与目标

随着业务发展,需要将原本集成在 RuoYi 单体工程(ruoyi-adminruoyi-framework)中的高仙机器人OpenAPI对接与业务逻辑,独立出来,微服务化迁移到 ruoyi-modules-robotruoyi-api-robot,实现服务解耦、便于扩展和维护。

一、原有结构(单体集成)

原始项目结构如下图所示:

ruoyi-admin

  • 负责全部Web接口,控制器、业务服务、DAO都在这里实现

  • 例如高仙机器人接口相关代码在

com.ruoyi.web.controller.external
com.ruoyi.web.controller.robot
com.ruoyi.robot.domain
com.ruoyi.robot.mapper
com.ruoyi.robot.service
com.ruoyi.robot.service.impl

ruoyi-framework

  • 公共工具、配置与核心DTO,全部集中于此

  • 高仙相关DTO、部分VO最初放在

    com.ruoyi.framework.dto
    com.ruoyi.framework.dto.external
    

二、重构思路

  • 目标是将高仙接口相关的Controller/Service/Mapper/Domain等全部抽离,形成独立的robot微服务。

  • 高仙相关的数据结构DTO全部从framework挪到新建的ruoyi-api-robot中,专门负责数据对象的统一管理,减少各服务之间的耦合。

  • 新的微服务需要在Spring Cloud Alibaba体系下注册到Nacos,统一走ruoyi-gateway网关分发。

  • 前端Vue部分接口路径同步修改。

  • 配置、数据库、依赖、接口分发都要重新梳理和注册。


三、微服务化后的新结构

1. 后端代码模块分布

  • ruoyi-modules/ruoyi-robot
    高仙机器人服务的微服务实现,包括:

    • config:配置类

    • controller:REST接口实现(external为高仙相关API,其余为业务接口)

    • domainmapperserviceopenapi等分层

    • RuoYiRobotApplication:Spring Boot 启动类

  • ruoyi-api/ruoyi-api-robot
    专用DTO数据对象模块,供robot服务/其它服务依赖和调用

    • com.ruoyi.robot.api.dto

    • 以前在framework/dto/external下的全部迁移到此

  • 其它业务服务、网关等未变

2. 原有代码拆分迁移

原单体结构新微服务结构(对应迁移到)
ruoyi-admin: controller/externalruoyi-robot: controller/external
ruoyi-admin: controller/robotruoyi-robot: controller/robot
ruoyi-admin: robot/service/implruoyi-robot: service/impl
ruoyi-admin: robot/domain/mapperruoyi-robot: domain/mapper
ruoyi-framework: dto/externalruoyi-api-robot: api/dto

3. Nacos 配置与网关转发

  • 新增ruoyi-robot服务到Nacos注册

  • ruoyi-gateway-dev.yml配置:

    - id: ruoyi-roboturi: lb://ruoyi-robotpredicates:- Path=/external/gs/**
    

  • 各个接口前缀 /external/gs/** 由网关转发到robot微服务

  • ruoyi-robot服务自己的controller路由仍然保留 /external/gs/ 前缀,确保路径一致

4.配置体系的变化与升级

原单体项目:本地 application-druid.yml 配置

在迁移前,所有与数据库、Redis、高仙API等相关的配置信息,都集中在 ruoyi-admin/resources/application-druid.ymlapplication.ymlapplication-dev.yml 这类本地文件中。例如数据库账号密码、Druid连接池参数、第三方平台密钥等,都是直接写在本地配置文件里,启动时自动读取。

微服务化后的新方式:Nacos 配置中心 + 各服务独立 bootstrap
新方案具体做法:
  • 删除/废弃原有的 application-druid.yml,本地不再维护数据库配置。

  • 在 Nacos 配置中心新建 ruoyi-robot-dev.yml,用于专门维护高仙机器人微服务的开发环境配置,包括数据源、Redis、API密钥等全部内容。

  • ruoyi-robot 服务模块下,使用 bootstrap.yml 启动参数,配置 Nacos 连接、服务名、环境标识等(并引用 Nacos 上的配置信息)。

  • 数据源、第三方接口等全部由 Nacos 拉取,运维上更灵活,线上环境配置变更无需重启服务。

结构示意:
迁移前(本地文件)迁移后(微服务+nacos)
ruoyi-admin/resources/application-druid.ymlnacos配置中心/ruoyi-robot-dev.yml
ruoyi-admin/resources/application.ymlruoyi-robot/resources/bootstrap.yml(只负责Nacos/环境标识等)

配置中心优势

  • 实现配置集中管理、动态刷新、按服务拆分

  • 支持多环境(dev/test/prod)自动切换和灰度发布

  • 安全性提升:敏感信息不落盘,支持密钥加密

四、迁移难点与填坑记录

1. DTO迁移

  • 强制解耦:所有原来framework/dto/external目录下的DTO必须移动到新的ruoyi-api-robot模块,否则其它微服务依赖编译会因包未找到报错。

  • 记得调整引用路径,重新组织包结构。

2. 配置同步与分离

  • 数据源配置全部拆分到robot模块专属的配置文件,避免与其它业务互相影响。

  • Nacos中分别维护ruoyi-robot-dev.yml,支持服务独立扩缩容和运维。

3. 接口路径一致性

  • 保证网关配置Path和后端controller的@RequestMapping前缀完全匹配,否则会出现404或401问题。

  • 建议controller保持 /external/gs/xxx 前缀,方便对齐老接口和前端适配。

4. 本地开发与多环境同步

  • Nacos配置可在“配置管理”页面批量导出,再在新环境导入,快速实现配置迁移。


五、迁移后效果

  • 业务功能完全解耦,高仙相关微服务独立扩容、独立开发、独立部署

  • 接口路径、DTO引用完全兼容

  • 前端页面无需大改,接口可平滑切换

  • 运维部署和权限控制也更加灵活


六、总结

本次迁移,从单体到微服务,不仅理清了高仙OpenAPI相关代码的业务边界,还规范了DTO分层管理。新结构便于后续扩展和微服务治理,也提升了系统稳定性。强烈建议遇到第三方平台深度集成的场景,都使用微服务模式来解耦,便于后期维护和升级。

http://www.dtcms.com/a/564434.html

相关文章:

  • 自己做qq头像的网站wordpress主题怎么改
  • 一个域名可以建设几个网站cmmi软件开发流程
  • 济宁建设公司网站软件开发过程包括
  • 初一下电脑课书做网站网站seo完整的优化方案
  • 创建网站公司好怎么做网站链接
  • 网站建设及推广方案ppt卖水果网站模板
  • 响应式网站建设开发公司如何建立网站或网页
  • nginx 做udp网站企业网站管理系统标签手册
  • 想自己开发一款软件太原关键词排名优化
  • 蔚县网站建设莱芜网站建设流程
  • 怎么用qq邮箱做网站推广app
  • 网页制作的优势和劣势南阳网站seo公司
  • 百度优化网站建设建设个人网站教程
  • 广西南宁市网站制作公司网站开发的技术要求
  • 广东手机网站建设公司网站做页游推广
  • 旅游网站建设和实现可以上传数据的网站开发
  • 如何提高网站的自然排名怎么让自己的网站通过域名访问
  • 购物模板网站建设asp网站后台密码文件
  • 建站页面公司执照注册流程及费用
  • 花都微网站建设wordpress 访客投稿
  • 手机微网站素材关于做摄影网站
  • 网站建设询价采购做网站的预算表
  • 广州做网络服装的网站建设网易企业邮箱入口 官网
  • 网站不在首页显示出来吗cpancel面板搭建WordPress
  • 做微信网站的公司阿里云创建网站
  • 网站建设在作用是什么无锡建设教育协会网站
  • 沅江网站制作先备案域名还是先做网站
  • 中小企业网站建设案例企业差旅服务平台
  • 毕设做网站答辩一般问什么做一个商城网站需要多少钱
  • 网上书店网站建设实训报告总结网站怎样注册