项目技术亮点
# 项目技术亮点
# 项目描述
提供 API 接口供开发者调用的开放平台(类似腾讯云 API),用户可注册登录、浏览并调用接口,管理员可发布/下线接口,每次调用进行统计计费。项目侧重后端架构设计与微服务治理。
# 技术栈
Spring Boot · Spring Cloud Gateway · Dubbo · Nacos · MyBatis-Plus · Redis · Knife4j · Ant Design Pro · React
# 核心职责与技术亮点
- API 签名认证:为解决接口调用身份伪造与重放攻击问题,设计 accessKey/secretKey 无状态签名认证机制,结合 nonce 随机数防重放、timestamp 时间戳防过期,使用 HMAC-MD5 算法生成签名,保障接口调用安全性
- Spring Boot Starter SDK:为解决开发者接入成本高、调用方式不统一问题,将客户端调用逻辑封装为自定义 Starter,开发者引入依赖后在 application.yml 配置 ak/sk 即可自动创建客户端,实现"像调用本地方法一样调用远程接口"
- Spring Cloud Gateway 网关:为解决网关层路由、鉴权、跨域、统计逻辑分散问题,统一路由转发、统一鉴权、统一跨域处理、统一调用次数统计,使用 GlobalFilter 编程式实现请求拦截,通过 Response 装饰者模式增强响应处理能力
- Dubbo RPC 调用:为解决服务间 HTTP 调用性能损耗大问题,网关项目通过 Dubbo RPC 调用后端服务实现服务间高效通信,结合 Nacos 注册中心实现服务发现与负载均衡
- 接口调用统计:为解决接口调用计费数据采集困难问题,设计用户-接口关系表记录总调用次数与剩余次数,通过 AOP 切面在接口调用后自动统计,网关层统一计费
- 抽象公共服务:为解决网关与后端间公共逻辑重复编写问题,抽取用户鉴权、接口校验、调用计数等公共逻辑为独立 common 模块复用,减少重复代码提升可维护性
- 统计分析可视化:为解决接口调用数据难以直观呈现问题,后端聚合接口调用数据,前端使用 ECharts 饼图展示各接口调用次数占比,辅助管理员决策接口资源分配
上次更新: 2026/10/10 18:05:45