erp-java/gateway
2026-04-06 21:16:35 +08:00
..
docker ERP Java微服务代码 2026-04-06 2026-04-06 21:16:35 +08:00
src/main ERP Java微服务代码 2026-04-06 2026-04-06 21:16:35 +08:00
pom.xml ERP Java微服务代码 2026-04-06 2026-04-06 21:16:35 +08:00
README.md ERP Java微服务代码 2026-04-06 2026-04-06 21:16:35 +08:00

ERP API Gateway

基于Spring Cloud Gateway的统一API网关

功能特性

  • Nacos服务发现 - 自动注册与发现微服务
  • 动态路由 - 支持Nacos配置中心的动态路由更新
  • JWT认证 - 统一认证鉴权
  • Sentinel限流熔断 - 保护下游服务
  • Redis分布式限流 - 基于令牌桶算法
  • 统一日志 - 请求/响应完整日志
  • 跨域处理 - CORS配置

项目结构

gateway/
├── pom.xml
├── src/main/
│   ├── java/com/erp/gateway/
│   │   ├── GatewayApplication.java
│   │   ├── config/
│   │   │   ├── GatewayConfig.java      # 网关配置
│   │   │   ├── CorsConfig.java         # 跨域配置
│   │   │   ├── SecurityConfig.java    # 安全配置
│   │   │   ├── JwtUtil.java           # JWT工具类
│   │   │   └── RateLimitConfig.java   # 限流Key配置
│   │   ├── filter/
│   │   │   ├── AuthFilter.java       # 认证过滤器
│   │   │   └── LogFilter.java         # 日志过滤器
│   │   ├── handler/
│   │   │   └── JsonErrorHandler.java  # JSON错误处理
│   │   └── sentinel/
│   │       └── SentinelConfig.java    # Sentinel配置
│   └── resources/
│       ├── application.yml            # 主配置
│       ├── bootstrap.yml              # Nacos引导配置
│       ├── logback-spring.xml         # 日志配置
│       └── nacos/
│           └── gateway-config.yml     # Nacos中心化配置
└── docker/
    ├── Dockerfile
    └── docker-compose.yml

快速开始

环境要求

  • JDK 17+
  • Maven 3.8+
  • Redis
  • Nacos 2.x
  • Sentinel Dashboard

构建

mvn clean package -DskipTests

运行

java -jar target/gateway-1.0.0.jar

Docker部署

cd docker
docker-compose up -d

环境变量

变量 默认值 说明
NACOS_SERVER localhost:8848 Nacos地址
NACOS_USERNAME nacos Nacos用户名
NACOS_PASSWORD nacos Nacos密码
REDIS_HOST localhost Redis地址
REDIS_PORT 6379 Redis端口
JWT_SECRET - JWT密钥(256位)
SENTINEL_DASHBOARD localhost:8080 Sentinel控制台
GATEWAY_PORT 8080 网关端口

路由配置

服务 路径 下游服务
认证服务 /api/auth/** erp-auth
用户服务 /api/user/** erp-user
订单服务 /api/order/** erp-order
商品服务 /api/product/** erp-product
仓库服务 /api/warehouse/** erp-warehouse

API端点

认证

  • POST /api/auth/login - 用户登录
  • POST /api/auth/register - 用户注册
  • POST /api/auth/refresh - 刷新Token

健康检查

  • GET /actuator/health - 健康状态

JWT认证

请求头格式:

Authorization: Bearer <token>

下游服务可获取的头部:

  • X-User-Name - 用户名
  • X-User-Roles - 用户角色(逗号分隔)

限流策略

API QPS限制
/api/auth/** 200
/api/user/** 100
/api/order/** 100
/api/product/** 100
/api/warehouse/** 100

监控

  • Actuator: /actuator/gateway, /actuator/health
  • Sentinel: 连接Sentinel Dashboard查看实时数据

License

MIT