项目简介
本项目是基于Spring Cloud Netflix框架的微服务架构示例,展示了如何运用Spring Cloud Netflix组件构建简单的微服务系统,涵盖服务注册与发现、服务提供者、服务消费者、熔断器、路由网关、分布式配置中心、服务链路追踪和服务监控等功能。
项目的主要特性和功能
服务注册与发现
- Eureka Server:作为服务注册中心,管理所有微服务的注册和发现。
- Eureka Client:服务提供者和消费者通过其向Eureka Server注册和发现服务。
服务提供者
- Eureka Client:服务提供者借助其向Eureka Server注册并提供服务。
服务消费者
- Ribbon + RestTemplate:通过Ribbon实现负载均衡,用RestTemplate调用服务提供者。
- Feign:实现声明式服务调用,简化HTTP客户端编写。
熔断器
- Hystrix:为服务消费者增加熔断功能,防止服务调用失败的连锁故障。
- Hystrix Dashboard:提供熔断器监控仪表盘,实时监控状态。
路由网关
- Zuul:提供统一访问功能,实现路由转发和服务过滤。
分布式配置中心
- Config Server:集中管理微服务配置文件,实现统一管理和实时更新。
- Config Client:微服务通过其从Config Server获取配置信息。
服务链路追踪
- ZipKin:提供服务调用链路追踪功能,帮助分析和监控服务间调用关系与性能瓶颈。
服务监控
- Spring Boot Admin:监控服务的健康状况、会话数量、并发数和服务资源。
安装使用步骤
假设用户已下载本项目的源码文件。
1. 复制项目:
bash
cd springcloud-netflix
2. 启动服务注册中心:
bash
cd eureka-server
mvn spring-boot:run
3. 启动配置中心:
bash
cd config-server
mvn spring-boot:run
4. 启动服务提供者:
bash
cd product-data-service
mvn spring-boot:run
5. 启动服务消费者:
bash
cd product-view-service-ribbon
mvn spring-boot:run
6. 启动熔断器仪表盘:
bash
cd hystrix-dashboard
mvn spring-boot:run
7. 启动路由网关:
bash
cd zuul
mvn spring-boot:run
8. 启动服务链路追踪:
bash
cd zipkin-server
mvn spring-boot:run
9. 启动服务监控:
bash
cd spring-boot-admin
mvn spring-boot:run
10. 访问服务:
- 服务注册中心: http://localhost:8761
- 熔断器仪表盘: http://localhost:8764/hystrix
- 路由网关: http://localhost:8011
通过上述步骤,可启动并运行项目中的所有微服务,体验Spring Cloud Netflix框架的强大功能。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】