实战若依 ruoyi cloud

白鹭实战系列以第三方开源平台为基准版进行二次开发,调试、修正、补正、和注解说明为主导工作,提供完整的配置和下载即可编译运行的环境,使其达到实际业务开发和生产应用状态。

一、主要工作

本项目主要包括完善现有部分功能,增加dubbo、feign、log链路的完整业务流程。梳理并对框架流程进行文字说明,详细描述了微服务各个环节的执行过程。下载并搭建了nacos、seata、等支撑系统,对系统进行参数配置。提供了完整的数据库备份,可以通过恢复运行。重新编译了部分支撑系统源代码,实现一套完整的最新技术系统架构,统一项目在Mysql8下运行。

默认当前环境为: mysql8 ,账号root/123 redis 无账号 新建数据库nacos、seata、skywalking、ruoyi-cloud,创建后使用数据库备份进行还原数据。

二、注册中心

启动nacos,执行bin\startup.cmd,登陆地址 http://127.0.0.1:8848/nacos 账号 nacos/nacos,默认当前nacos已调整为个体模式,配置分为dev和prod,当前所有配置都在数据库中。

微服务架构15种框架(一套完整的微服务框架)(1)

三、事务中心

启动seata,执行bin\seata-server.bat,登陆地址 http://127.0.0.1:7091/ 账号 seata/seata。本项目的seata-server.jar已经重新编译过,只支持mysql8 ,不能使用之前5版本。

微服务架构15种框架(一套完整的微服务框架)(2)

四、流量控制

启动sentinel监控,执行sentinel-start.cmd,登陆地址 http://127.0.0.1:8718/ 账号 sentinel/sentinel。在nacos中已经配置了流控规则、熔断规则、热点规则、系统规则等。

微服务架构15种框架(一套完整的微服务框架)(3)

五、服务治理

启动dubbo admin,执行start.bat,登陆地址 http://127.0.0.1:7001/ 账号 root/root。本项目采用最新dubbo3版本,不能和dubbo2互通。

微服务架构15种框架(一套完整的微服务框架)(4)

六、日志链路

启动skywalking日志,执行bin\startup.bat,登陆地址 http://127.0.0.1:7080/ 无账号。系统启动会有两个服务,webapp服务启动时间较长,需要等待。oapService占用12800端口。 IDE设置微服务启动参数VM Options:-javaagent:E:\ruoyi\server\skywalking-agent-8.10.0\skywalking-agent.jar -Dskywalking.agent.service_name=ruoyi-system -Dskywalking.collector.backend_service=127.0.0.1:11800可以只对ruoyi-system、ruoyi-job、ruoyi-order、ruoyi-product四个服务进行设置,设置后再依次启动服务,注意修改对应的路径和服务名。

微服务架构15种框架(一套完整的微服务框架)(5)

微服务架构15种框架(一套完整的微服务框架)(6)

七、测试用例

7.1、以上系统全部依次启动成功后,IDEA编译后依次启动微服务模块ruoyi-gateway、ruoyi-auth、ruoyi-system、ruoyi-job、ruoyi-order、ruoyi-product。 前端编译ruoyi-ui占用80端口,启动后登陆,admin/123。

微服务架构15种框架(一套完整的微服务框架)(7)

7.2、进入用户模块如下图,点击订单按钮,功能为创建订单同时扣减库存数量,当数量改为1000时由于库存数量不足,会由seata全局事务进行撤回。本功能微服务之间采用了dubbo3进行调用,从ruoyi-system->ruoyi-job,由seata进行全局事务管理。

微服务架构15种框架(一套完整的微服务框架)(8)

7.3、进入用户模块如下图,点增加用户,功能为增加用户的同时会新建一个任务job,当用户名以ro开头的时候,会创建job失败,由seata全局事务撤回。本功能微服务之间采用了feign进行调用,从ruoyi-order->ruoyi->product,由seata进行全局事务管理。

微服务架构15种框架(一套完整的微服务框架)(9)

八、文档

作者整理了各个模块的执行流程,记录文档在此工程的 各个模块文件中 分别为:

九、技术支持

编译并成功运行,技术交流和支持可加QQ群:白鹭fly https://gitee.com/baijigan/ruoyi-cloud

码云地址:

实战若依 ruoyi-cloud: 基于若依微服务版 ruoyi cloud 的完整框架调试、修正、注解说明和扩展,包含nacos、sentinel、seata等服务器环境,提供易于上手的完整微服务运行环境。

,