3.1 KiB
3.1 KiB
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)
cd eureka-server
mvn spring-boot:run
启动配置中心 (Config Server)
cd config-server
mvn spring-boot:run
启动服务提供者 (Service Producer)
cd service-producer
mvn spring-boot:run
启动服务消费者 (Service Consumer)
cd service-consumer
mvn spring-boot:run
启动 API 网关 (API Gateway)
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 网关,统一处理所有外部请求的入口。
开发指南
添加新服务
- 创建新的 Maven 模块
- 添加必要的依赖
- 配置服务注册与发现
- 实现业务逻辑
配置管理
所有服务都通过 Spring Cloud Config 进行配置管理,配置文件位于 config-server 中。
负载均衡
服务间调用使用 Ribbon 实现客户端负载均衡。