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

服务注册中心,负责服务的注册与发现。

config-server

配置中心,统一管理微服务的配置信息。

service-producer

服务提供者示例,提供 REST API 接口。

service-consumer

服务消费者示例,调用其他服务提供的接口。

api-gateway

API 网关,统一处理所有外部请求的入口。

开发指南

添加新服务

  1. 创建新的 Maven 模块
  2. 添加必要的依赖
  3. 配置服务注册与发现
  4. 实现业务逻辑

配置管理

所有服务都通过 Spring Cloud Config 进行配置管理,配置文件位于 config-server 中。

负载均衡

服务间调用使用 Ribbon 实现客户端负载均衡。

S
Description
😎 Spring Cloud 项目模板
Readme MIT 53 KiB
Languages
Java 100%