# cloud-native **Repository Path**: grissom_sh/cloud-native ## Basic Information - **Project Name**: cloud-native - **Description**: 云原生大作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-07-14 - **Last Updated**: 2025-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Cloud Native 项目 这是一个基于 Spring Boot 的云原生应用,集成了 Redis 限流功能,适用于高并发场景下的请求控制。 ## 项目特点 - 使用 Spring Boot 快速构建应用 - 集成 Redis 实现高效的请求限流 - 支持容器化部署(Docker) - 提供 Kubernetes HPA 和 Prometheus 监控配置 ## 快速开始 ### 环境要求 - JDK 17 - Maven 3.8.7 - Docker - Redis 服务 ### 构建与运行 1. 克隆项目: ```bash git clone https://gitee.com/grissom_sh/cloud-native.git cd cloud-native ``` 2. 构建 Docker 镜像: ```bash docker build -t cloud-native-app . ``` 3. 运行容器: ```bash docker run -d -p 8998:8998 cloud-native-app ``` ## 功能说明 项目实现了基础的请求限流功能,默认限制每秒最多处理 10 个请求。 ### 接口示例 访问测试接口: ```bash curl http://localhost:8998/hello ``` 正常响应: ```json { "message": "Hello, World!" } ``` 当请求超过限制时: ```json { "error": "Too many requests" } ``` ## 技术架构 - **Spring Boot**:提供快速开发框架 - **Redis**:分布式缓存,用于限流计数 - **Bucket4j**:限流算法实现 - **Docker**:容器化部署支持 - **Kubernetes**:提供 HPA 和 Prometheus 配置 ## 测试 项目包含完整的单元测试和集成测试,使用 `MockMvc` 模拟请求验证限流逻辑。 运行测试: ```bash mvn test ``` ## 部署 ### Kubernetes 项目提供以下部署配置: - `jenkins/scripts/hpa.yaml`:水平自动扩缩容配置 - `jenkins/scripts/prometheus-test-demo.yaml`:Prometheus 监控服务配置 - `jenkins/scripts/prometheus-test-serviceMonitor.yaml`:ServiceMonitor 配置 ### 配置说明 - 修改 `application.properties` 可调整限流阈值和其他应用参数 - 修改 `Dockerfile` 可调整容器构建流程 ## 贡献指南 欢迎贡献代码和改进文档。请遵循以下步骤: 1. Fork 项目 2. 创建新分支 3. 提交代码更改 4. 创建 Pull Request ## 许可证 本项目采用 MIT 许可证。详见 LICENSE 文件。