实战若依 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,目前所有配置都在数据库中。
三、事务中心
启动seata,执行bin\seata-server.bat,登陆地址http://127.0.0.1:7091/账号 seata/seata。本项目的seata-server.jar已重新编译,只支持mysql8 ,前5版不能使用。
四、流量控制
启动sentinel监控,执行sentinel-start.cmd,登陆地址http://127.0.0.1:8718/账号 sentinel/sentinel。在nacos配备了流控规则、熔断规则、热点规则、系统规则等。
五、服务治理
启动dubbo admin,执行start.bat,登陆地址http://127.0.0.1:7001/账号 root/root。最新项目dubbo3版本,不能和dubbo2互通。
六、日志链路
启动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设置四个服务,然后依次启动服务,注意修改相应的路径和服务名称。
七、测试用例
7.1.上述系统全部依次成功启动后,IDEA编译后,微服务模块依次启动ruoyi-gateway、ruoyi-auth、ruoyi-system、ruoyi-job、ruoyi-order、ruoyi-product。 前端编译ruoyi-ui占用80个端口,启动后登录,admin/123。
7.2.进入用户模块如下图所示。单击订单按钮,创建订单并扣除库存数量。当数量改为1000时,由于库存不足,将由seata撤回全局事务。 本功能微服务之间采用dubbo调用,从ruoyi-system->ruoyi-job,由seata管理全局事务。
7.3、进入用户模块如下图,点增加用户,功能为增加用户的同时会新建一个任务job,当用户名以ro它将在开头创建job失败,由seata撤回全局事务。 本功能微服务之间采用feign调用,从ruoyi-order->ruoyi->product,由seata管理全局事务。
八、文档
作者整理了本项目各模块的执行流程,并记录了文档在每个模块文件中分别为:
- 1.创建和验证系统验证码的过程
- 2.系统登录账号认证流程
- 3.网关启动和执行流程
- 4.微服务安全效果及执行流程
- 5、用户权限和数据权限流程
- 6.模块架构划分和依赖关系
- 7、feign执行过程的配置和调用
- 8、dubbo执行过程的配置和调用
- 9.日志链路流程
九、技术支持
技术交流和支持可以以增加技术交流和支持QQ群: 白鹭fly白鹭fly (baijigan) - Gitee.com
https://gitee.com/baijigan/ruoyi-cloud