7.7 KiB
7.7 KiB
资金平台功能完善与架构增强计划
前置条件
- ✅ 六步实施已完成
- ✅ 11个模块编译通过
- ✅ 数据库初始化完成
- ✅ fund-sys服务运行正常
- ✅ Gateway路由配置完成
A. 完善fund-sys权限管理
A.1 用户管理模块
目标: 实现用户CRUD接口
实施步骤:
- 创建
UserDTO.java(用户创建/更新DTO) - 创建
UserVO.java(用户返回VO) - 创建
UserService.java和UserServiceImpl.java - 创建
UserController.java(REST接口) - 实现接口:
POST /api/v1/sys/user- 创建用户PUT /api/v1/sys/user/{id}- 更新用户GET /api/v1/sys/user/{id}- 查询用户GET /api/v1/sys/user/page- 分页查询DELETE /api/v1/sys/user/{id}- 删除用户
涉及文件:
fund-sys/src/main/java/com/fundplatform/sys/dto/UserDTO.javafund-sys/src/main/java/com/fundplatform/sys/vo/UserVO.javafund-sys/src/main/java/com/fundplatform/sys/service/UserService.javafund-sys/src/main/java/com/fundplatform/sys/service/impl/UserServiceImpl.javafund-sys/src/main/java/com/fundplatform/sys/controller/UserController.java
A.2 角色管理模块
实施步骤: 同用户管理,创建Role相关类
接口: /api/v1/sys/role 系列接口
A.3 菜单管理模块
实施步骤: 同用户管理,创建Menu相关类
接口: /api/v1/sys/menu 系列接口
A.4 部门管理模块
实施步骤: 同用户管理,创建Dept相关类
接口: /api/v1/sys/dept 系列接口
验证: 每个模块完成后执行 mvn -pl fund-sys clean install
B. 完善其他业务模块
B.1 fund-req用款申请模块
目标: 实现用款申请完整业务流程
实施步骤:
- 创建
FundRequest.java实体类 - 创建
FundRequestMapper.java和FundRequestDataService.java - 创建
FundRequestService.java和实现类 - 创建
FundRequestController.java - 实现接口:
POST /api/v1/req/fund-request- 创建申请PUT /api/v1/req/fund-request/{id}/approve- 审批通过PUT /api/v1/req/fund-request/{id}/reject- 审批拒绝GET /api/v1/req/fund-request/page- 分页查询
涉及文件:
fund-req/src/main/java/com/fundplatform/req/data/entity/FundRequest.javafund-req/src/main/java/com/fundplatform/req/data/mapper/FundRequestMapper.javafund-req/src/main/java/com/fundplatform/req/data/service/FundRequestDataService.javafund-req/src/main/java/com/fundplatform/req/service/FundRequestService.javafund-req/src/main/java/com/fundplatform/req/controller/FundRequestController.java
B.2 fund-exp支出管理模块
实施步骤: 类似fund-req,创建支出相关类
B.3 fund-receipt收款管理模块
实施步骤: 类似fund-req,创建收款相关类
C. Gateway增强
C.1 全局日志过滤器
目标: 记录所有请求日志,生成TraceId
实施步骤:
- 创建
GlobalLogFilter.java(实现GatewayFilter) - 生成TraceId并写入请求头
- 记录请求路径、方法、耗时
- 配置到application.yml
涉及文件:
fund-gateway/src/main/java/com/fundplatform/gateway/filter/GlobalLogFilter.javafund-gateway/src/main/resources/application.yml
C.2 JWT鉴权过滤器
目标: 验证JWT Token,提取用户信息
实施步骤:
- 创建
JwtAuthFilter.java - 验证Token有效性
- 提取userId、tenantId写入请求头
- 配置白名单路径(登录、健康检查等)
涉及文件:
fund-gateway/src/main/java/com/fundplatform/gateway/filter/JwtAuthFilter.javafund-gateway/src/main/resources/application.yml
C.3 限流配置
实施步骤:
- 添加Redis依赖
- 配置RequestRateLimiter过滤器
- 设置限流规则(每秒请求数)
D. 服务治理
D.1 集成Nacos服务注册发现
目标: 实现服务自动注册和发现
实施步骤:
- 添加Nacos依赖到所有服务
- 配置Nacos地址(从memory获取: localhost:8848)
- 配置服务名称和分组
- 启动服务验证注册成功
涉及文件:
- 所有服务的
pom.xml添加nacos依赖 - 所有服务的
application.yml添加nacos配置
D.2 集成Sentinel熔断降级
实施步骤:
- 添加Sentinel依赖
- 配置熔断规则
- 配置降级逻辑
D.3 统一配置中心
实施步骤:
- 在Nacos创建配置文件
- 各服务从Nacos读取配置
E. 日志与监控
E.1 集成ELK日志聚合
目标: 统一日志收集和分析
实施步骤:
- 配置Logback输出JSON格式日志
- 部署Filebeat收集日志
- 部署Logstash处理日志
- 部署Elasticsearch存储日志
- 部署Kibana可视化
E.2 集成SkyWalking链路追踪
实施步骤:
- 添加SkyWalking Agent
- 配置链路追踪
- 集成Gateway和Feign
E.3 Prometheus+Grafana监控
实施步骤:
- 添加Micrometer依赖
- 配置Prometheus端点
- 部署Prometheus采集指标
- 部署Grafana可视化
F. 数据库优化
F.1 读写分离配置
实施步骤:
- 配置主从数据库
- 使用ShardingSphere实现读写分离
- 配置路由规则
F.2 连接池优化
实施步骤:
- 优化HikariCP配置(连接数、超时时间)
- 配置连接池监控
F.3 索引优化
实施步骤:
- 分析慢查询SQL
- 添加必要索引
- 优化查询语句
G. 高可用架构
G.1 服务集群部署
实施步骤:
- 各服务打包为Docker镜像
- 配置Docker Compose或K8s部署
- 配置负载均衡
G.2 网关集群部署
实施步骤:
- Gateway多实例部署
- 配置Nginx负载均衡
G.3 数据库高可用
实施步骤:
- 配置MySQL主从复制
- 配置自动故障切换
H. 安全增强
H.1 HTTPS配置
实施步骤:
- 生成SSL证书
- 配置Spring Boot HTTPS
- 配置Gateway HTTPS
H.2 API签名验证
实施步骤:
- 设计签名算法(时间戳+密钥+签名)
- 创建签名拦截器
- 各服务集成签名验证
H.3 数据加密存储
实施步骤:
- 敏感字段加密(手机号、身份证等)
- 使用AES或RSA加密
- 配置加解密工具类
I. 性能优化
I.1 Redis缓存集成
目标: 减少数据库查询压力
实施步骤:
- 添加Redis依赖(从memory获取密码: zjf@123456)
- 配置Redis连接
- 实现缓存工具类
- 对热点数据添加缓存
涉及文件:
fund-common/src/main/java/com/fundplatform/common/cache/RedisService.java- 所有服务的
pom.xml添加redis依赖 - 所有服务的
application.yml添加redis配置
I.2 接口性能测试
实施步骤:
- 使用JMeter编写测试脚本
- 压测核心接口
- 分析性能瓶颈
- 优化慢接口
I.3 异步处理优化
实施步骤:
- 引入消息队列(RabbitMQ/Kafka)
- 异步处理耗时操作
- 实现最终一致性
实施优先级
| 优先级 | 模块 | 预计时间 | 依赖 |
|---|---|---|---|
| P0 | C.1 Gateway日志过滤器 | 2小时 | 无 |
| P0 | C.2 Gateway鉴权过滤器 | 3小时 | 无 |
| P1 | A.1 用户管理模块 | 4小时 | 无 |
| P1 | B.1 fund-req用款申请 | 4小时 | 无 |
| P1 | D.1 Nacos服务注册 | 4小时 | 无 |
| P2 | I.1 Redis缓存集成 | 4小时 | 无 |
| P2 | E.1 ELK日志聚合 | 1天 | 无 |
| P3 | 其他模块 | 按需 | 前置模块 |
验证标准
每个阶段完成后需验证:
- ✅ 编译通过:
mvn clean install - ✅ 服务启动正常
- ✅ 接口测试通过
- ✅ Git提交代码
风险提示
- Spring Cloud版本兼容性: 注意Spring Boot 3.2与Spring Cloud版本匹配
- 数据库性能: 注意索引优化,避免慢查询
- 服务稳定性: 添加熔断降级,防止雪崩
- 安全性: API接口必须鉴权,敏感数据加密