{"repo":"xmopher/FastGateway","free":true,"listed":false,"github":"https://github.com/xmopher/FastGateway","clone":"git clone https://github.com/xmopher/FastGateway.git","description":"a high-performance, lightweight API gateway built with Spring Cloud Gateway","language":"Java","stars":18,"topics":["gateway","kubernetes","springcloud","springcloudgateway","trafficcontrol","api-gateway","cloudnative","microservices","authentication","load-balancer"],"license":"MIT","category":"deployment-docker-iac","readme_excerpt":"FastGateway 配置要求 - JDK 21 - Maven 3.8+ - Docker - Redis 📖 项目介绍 FastGateway 是一个轻量级、高性能的 API 网关服务，基于 Spring Boot 3.x 和 Spring Cloud 构建。它提供了丰富的功能集，包括高性能的请求路由、智能负载均衡、灵活的限流策略、服务发现、安全控制等，是构建现代化微服务架构的理想选择。 系统架构 🌟 核心特性 1. 高性能请求处理 - 采用 Spring WebFlux 响应式编程模型，提供卓越的性能表现 - 支持 HTTP/2 协议，实现更高效的网络传输 - 异步非阻塞 I/O 处理，提高系统吞吐量 - 智能的请求压缩和缓存策略，优化响应时间 2. 智能负载均衡 - 提供多种负载均衡算法，满足不同场景需求 - 轮询算法：适用于服务实例性能相近的场景 - 加权轮询：支持服务实例差异化配置 - 最少连接：适用于长连接场景 - 响应时间加权：根据服务响应时间动态调整 - 自动服务健康检查，及时剔除异常实例 - 支持动态调整服务权重，实现更精细的流量控制 3. 灵活的限流策略 - 基于 Redis 的分布式限流，支持集群部署 - 多种限流算法支持，适应不同业务场景 - 令牌桶：适合突发流量场景 - 漏桶：适合平滑流量场景 - 滑动窗口：适合精确控制场景 - 支持服务级别、接口级别的限流配置 - 提供限流降级策略，保证系统可用性 4. 服务发现与注册 - 原生支持 Kubernetes 服务发现 - 提供自定义服务注册机制 - 支持动态服务上下线 - 服务元数据管理，支持服务标签和属性配置 5. 插件化认证鉴权系统 - SPI 插件架构 ：基于 Java SPI 机制的可扩展认证系统 - 多重认证策略 ：支持 JWT、API Key 等多种认证方式 - 热插拔支持 ：认证插件可动态加载和卸载 - 认证链式处理 ：多个认证提供者按优先级顺序执行 - 缓存机制 ：Redis 缓存认证结果，提升性能 - 完整的 SSL/TLS 加密支持 - 可配置的 CORS 策略 认证鉴权架构图 SPI 插件化认证提供者 6. 监控与可观测性 - 集成 Prometheus 监控系统 - 详细的请求追踪 - 丰富的性能指标 - 完善的健康检查机制 - 结构化的日志记录 🚀 快速开始 环境要求 - JDK 21 - Maven 3.8+ - Docker 和 Docker Compose - Redis 7.x - Kubernetes（可选，用于生产环境） 本地开发环境搭建 1. 克隆项目代码 2. 启动依赖服务（Redis等） 3. 构建并运行项目 4. 验证服务是否正常运行 ⚙️ 配置说明 基础配置 网关服务支持丰富的配置选项，包括： - 服务端口配置 - SSL/TLS 配置 - HTTP/2 支持 - 认证鉴权配置 - 限流参数配置 - 负载均衡策略 - 服务发现配置 认证鉴权配置 JWT 认证配置 API Key 认证配置 认证插件扩展 添加自定义认证插件只需： 1. 实现 AuthenticationProvider 接口 2. 在 META-INF/services/com.mo.gateway.spi.auth.AuthenticationProvider 文件中注册 3. 将插件 JAR 包放入 plugins 目录 详细配置说明请参考 配置指南 环境变量 支持通过环境变量覆盖默认配置，主要配置项包括： - 服务发现类型 - Redis 连接","default_branch":null,"files":null,"tree":[],"storefront":"/r/xmopher","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/xmopher/FastGateway/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}