Files
2025-10-07 03:35:05 +08:00

126 lines
3.1 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Spring Cloud 微服务模板项目
本项目是一个基于 Spring Cloud 的微服务架构模板,提供服务注册、配置管理、API 网关、服务间调用等核心功能,结构清晰、易于扩展,适用于快速搭建高可用的微服务系统。
## 项目结构
```
spring-cloud-template
├── eureka-server # 服务注册中心(Eureka Server)
├── config-server # 配置中心(Spring Cloud Config)
├── service-producer # 服务提供者(示例服务A)
├── service-consumer # 服务消费者(示例服务B)
├── api-gateway # API 网关(Spring Cloud Gateway)
└── pom.xml # 父工程 POM 文件
```
## 核心功能
### 1. 服务注册与发现
- 使用 Eureka Server 实现服务注册与发现
- 提供服务实例列表页面,便于监控服务状态
### 2. 配置中心
- 使用 Spring Cloud Config 实现统一配置管理
- 支持配置的动态刷新
### 3. 服务间调用
- 使用 OpenFeign 实现声明式服务调用
- 集成 Ribbon 实现客户端负载均衡
### 4. API 网关
- 使用 Spring Cloud Gateway 作为统一 API 入口
- 支持路由配置和请求转发
### 5. 服务健康检查
- 集成 Spring Boot Actuator 实现服务健康检查
- 提供监控端点,便于系统运维
## 技术栈
- **Spring Boot**: 3.3.13
- **Spring Cloud**: 2023.0.6
- **JDK**: 21
- **Maven**: 3.x
- **Eureka Server**: Netflix Eureka
- **Config Server**: Spring Cloud Config
- **API Gateway**: Spring Cloud Gateway
- **OpenFeign**: 声明式 HTTP 客户端
- **Ribbon**: 客户端负载均衡
## 快速开始
### 1. 环境要求
- JDK 21
- Maven 3.x
### 2. 启动服务
#### 启动服务注册中心 (Eureka Server)
```bash
cd eureka-server
mvn spring-boot:run
```
#### 启动配置中心 (Config Server)
```bash
cd config-server
mvn spring-boot:run
```
#### 启动服务提供者 (Service Producer)
```bash
cd service-producer
mvn spring-boot:run
```
#### 启动服务消费者 (Service Consumer)
```bash
cd service-consumer
mvn spring-boot:run
```
#### 启动 API 网关 (API Gateway)
```bash
cd api-gateway
mvn spring-boot:run
```
### 3. 访问服务
- Eureka Server: http://localhost:8761
- Service Producer: http://localhost:8081/api/health
- Service Consumer: http://localhost:8082/api/health
- API Gateway: http://localhost:8080/api/consumer/print
## 项目模块说明
### eureka-server
服务注册中心,负责服务的注册与发现。
### config-server
配置中心,统一管理微服务的配置信息。
### service-producer
服务提供者示例,提供 REST API 接口。
### service-consumer
服务消费者示例,调用其他服务提供的接口。
### api-gateway
API 网关,统一处理所有外部请求的入口。
## 开发指南
### 添加新服务
1. 创建新的 Maven 模块
2. 添加必要的依赖
3. 配置服务注册与发现
4. 实现业务逻辑
### 配置管理
所有服务都通过 Spring Cloud Config 进行配置管理,配置文件位于 config-server 中。
### 负载均衡
服务间调用使用 Ribbon 实现客户端负载均衡。