项目简介
本项目是基于Spring Cloud框架的微服务架构学习项目,借助实际代码与配置展示微服务系统的构建与管理方法。项目包含服务注册与发现、服务调用、配置管理、熔断器、网关路由等关键组件,助力开发者掌握Spring Cloud在微服务架构里的应用。
项目的主要特性和功能
服务注册与发现
- Eureka Server:具备服务注册与发现功能,支持单点注册中心与集群部署。
- Eureka Client:服务提供者和消费者通过其注册和发现服务。
服务调用
- Ribbon:实现客户端负载均衡,有多种负载均衡策略。
- Feign:声明式Web服务客户端,简化服务调用,集成Ribbon实现负载均衡。
配置管理
- Spring Cloud Config:提供集中化外部配置支持,支持Git、SVN等配置存储方式。
- 动态刷新配置:无需重启服务即可更新配置。
熔断器
- Hystrix:提供断路器机制,防止服务故障“雪崩”,支持Fallback和资源隔离。
- Hystrix Dashboard:提供熔断器监控和可视化功能。
- Turbine:聚合多服务熔断器监控数据,提供集群级监控视图。
网关路由
- Zuul:提供动态路由、监控、弹性、安全等边缘服务功能,支持服务过滤和路由重试。
- Spring Cloud Gateway:新一代网关服务,路由和过滤功能更灵活。
分布式链路跟踪
- Zipkin:提供分布式链路跟踪功能,支持数据收集、存储和展示。
其他功能
- Redis操作工具类:提供Redis五大基本数据结构的操作方法。
- Excel操作工具类:提供Excel文件导入、导出和模板创建功能。
- 日志记录工具类:提供操作日志记录和查询功能。
安装使用步骤
1. 环境准备
- 安装Java 8或更高版本。
- 安装Maven构建工具。
- 安装Redis用于配置管理和缓存。
- 安装RabbitMQ用于消息总线。
2. 复制项目
bash
cd SpringCloudLearn
3. 配置文件
根据项目需求,配置application.yml
和bootstrap.yml
文件,设置Eureka、Config Server、Redis等服务的连接信息。
4. 启动服务
- 启动Eureka Server:
bash cd sc-eureka-server mvn spring-boot:run
- 启动Config Server:
bash cd sc-config-server mvn spring-boot:run
- 启动其他微服务:
bash cd sc-eureka-client mvn spring-boot:run
5. 访问服务
- 访问Eureka Server管理界面:
http://localhost:8761
- 访问Config Server配置管理界面:
http://localhost:8888
- 访问Hystrix Dashboard监控界面:
http://localhost:9009
6. 测试服务
使用Postman或其他HTTP客户端工具,发送请求到各个微服务的API端点,验证服务是否正常工作。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】