# spring-cloud-demo **Repository Path**: dkbnull/spring-cloud-demo ## Basic Information - **Project Name**: spring-cloud-demo - **Description**: SpringCloudDemo - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-02-13 - **Last Updated**: 2026-11-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

Spring Cloud Demo

## 开发环境 - JDK:1.8 - Spring Boot:2.7.18 - Spring Cloud:2021.0.9 - Spring Cloud Netflix(Hystrix、Zuul):2.2.10.RELEASE ## 模块说明 | 模块 | 端口 | 上下文路径 | 说明 | | --- | --- | --- | --- | | spring-cloud-eureka | 8090 | /springcloudeureka | 服务注册与发现中心 | | spring-boot-provider | 8081 | /springbootprovider | 服务提供者,集成 Swagger2 | | spring-boot-provider-v2 | 8083 | /springbootprovider | 服务提供者第二实例,用于验证负载均衡 | | spring-boot-consumer | 8082 | /springbootconsumer | RestTemplate 调用,自定义负载均衡策略 | | spring-boot-consumer-feign | 8084 | /springbootconsumer | Feign 调用,自定义 Contract | | spring-boot-consumer-hystrix | 8085 | /springbootconsumer | RestTemplate + @HystrixCommand 熔断 | | spring-boot-consumer-feign-hystrix | 8086 | /springbootconsumer | Feign + fallbackFactory 熔断 | | spring-cloud-zuul | 8091 | /springcloudzuul | 路由网关、token 过滤器、Swagger 聚合 | | spring-cloud-config-server | 8094 | /springcloudconfig | 分布式配置中心服务端(Git 仓库) | | spring-cloud-config-client | 8093 | /springcloudconfig | 分布式配置中心客户端 | | spring-cloud-zipkin | 8092 | - | 链路追踪服务端 | ## 启动顺序 1. spring-cloud-eureka(8090) 2. spring-cloud-config-server(8094) 3. spring-cloud-config-client(8093) 4. spring-cloud-zipkin(8092) 5. spring-boot-provider(8081)、spring-boot-provider-v2(8083) 6. spring-boot-consumer(8082)、spring-boot-consumer-feign(8084)、spring-boot-consumer-hystrix(8085)、spring-boot-consumer-feign-hystrix(8086) 7. spring-cloud-zuul(8091) ## 接口验证 | 场景 | 请求 | | --- | --- | | Eureka 控制台 | GET http://localhost:8090/springcloudeureka/ | | 服务提供者 | GET http://localhost:8081/springbootprovider/gateway | | 自定义负载均衡 | GET http://localhost:8082/springbootconsumer/gateway | | Feign | GET http://localhost:8084/springbootconsumer/gateway | | Hystrix 熔断 | POST http://localhost:8085/springbootconsumer/users | | Feign + Hystrix | POST http://localhost:8086/springbootconsumer/users | | Zuul 路由 | POST http://localhost:8091/springcloudzuul/zuul-a/users,需携带请求头 token | | Zuul 聚合 Swagger | GET http://localhost:8091/springcloudzuul/v2/api-docs | | 配置中心客户端 | GET http://localhost:8093/springcloudconfig/gateway | | Zipkin 控制台 | GET http://localhost:8092 | ## 升级说明 博客文章基于 Spring Boot 2.0.9 / Finchley 编写,代码已适配 Spring Boot 2.7.18 / 2021.0.9,主要差异如下: - **bootstrap.yml 默认不再生效**:Spring Cloud 2020.0.0 起需引入 `spring-cloud-starter-bootstrap` 才会创建 bootstrap 上下文,配置中心客户端必须显式添加该依赖。 - **Ribbon 已被移除**:改用 Spring Cloud LoadBalancer,通过 `@LoadBalancerClient` 指定配置类,自定义策略实现 `ReactorServiceInstanceLoadBalancer`;原 `ribbon.*` 超时配置改为 `feign.client.config.*`。 - **Springfox 2.10.5 与 Boot 2.6+ 不兼容**:需设置 `spring.mvc.pathmatch.matching-strategy: ant_path_matcher`,否则启动时 `documentationPluginsBootstrapper` 报空指针。 - **Hystrix、Zuul 已停止维护**:不再由 2021.0.9 的 BOM 管理,由父 POM 的 `spring-cloud-netflix-legacy.version` 单独锁定为 2.2.10.RELEASE;`spring-cloud-starter-netflix-hystrix` 为 optional 依赖,使用熔断能力时必须显式引入,否则 `feign.hystrix.enabled` 静默失效。 - **Zipkin 服务端内嵌模式已不推荐**:`@EnableZipkinServer` 在 Boot 2.4+ 下与自动装配冲突,生产环境建议直接运行 Zipkin 官方可执行 jar,本模块仅作演示。 - **配置中心端口调整为 8094**:原 8092 与 Zipkin 冲突。 ## Spring Cloud 专栏 [CSDN](https://blog.csdn.net/dkbnull/category_9287932.html) · [知乎](https://zhuanlan.zhihu.com/c_1105052885779513344) · [微博](https://weibo.com/a/hot/7581491716986881_1.html) ## 相关文章 | 文章 | 阅读 | | --- | --- | | Spring Cloud 整合 Spring Boot(服务提供者和服务消费者) | [CSDN](https://blog.csdn.net/dkbnull/article/details/89223691) · [知乎](https://zhuanlan.zhihu.com/p/63925470) · [微信](https://mp.weixin.qq.com/s/7ZrgoRyAcs7agzpVtsWe4w) · [微博](https://weibo.com/ttarticle/p/show?id=2309404365477253117454) | | Spring Cloud 服务注册与发现 Eureka | [CSDN](https://blog.csdn.net/dkbnull/article/details/89268194) · [知乎](https://zhuanlan.zhihu.com/p/64284070) · [微信](https://mp.weixin.qq.com/s/L4WVLGh7d6ULl9bP6IdxVg) · [微博](https://weibo.com/ttarticle/p/show?id=2309404366699653683350) | | Spring Cloud 自定义 Eureka Ribbon 负载均衡策略 | [CSDN](https://blog.csdn.net/dkbnull/article/details/89506462) · [知乎](https://zhuanlan.zhihu.com/p/64760029) · [微信](https://mp.weixin.qq.com/s/D3wHuZiuhqbqXI5MudwxMg) · [微博](https://weibo.com/ttarticle/p/show?id=2309404368874400313637) | | Spring Cloud Feign 的使用和自定义配置 | [CSDN](https://blog.csdn.net/dkbnull/article/details/89525792) · [知乎](https://zhuanlan.zhihu.com/p/65008318) · [微信](https://mp.weixin.qq.com/s/RL8ZtwH3x6XZLzE-pYj6dA) · [微博](https://weibo.com/ttarticle/p/show?id=2309404369596210654515) | | Spring Cloud 熔断器/断路器 Hystrix | [CSDN](https://blog.csdn.net/dkbnull/article/details/89578323) · [知乎](https://zhuanlan.zhihu.com/p/65133651) · [微信](https://mp.weixin.qq.com/s/VvuyF5JtYmA0dDyGD4uNIw) · [微博](https://weibo.com/ttarticle/p/show?id=2309404369957537327375) | | Spring Cloud 路由网关和过滤器 Zuul | [CSDN](https://blog.csdn.net/dkbnull/article/details/89736893) · [知乎](https://zhuanlan.zhihu.com/p/65360773) · [微信](https://mp.weixin.qq.com/s/lWMudofECNpskWTioI2cIg) · [微博](https://weibo.com/ttarticle/p/show?id=2309404370511336471294) | | Spring Cloud Config 分布式配置中心 | [CSDN](https://blog.csdn.net/dkbnull/article/details/89934484) · [知乎](https://zhuanlan.zhihu.com/p/65654453) · [微信](https://mp.weixin.qq.com/s/jcFZUliJ5Fq5MSQWQNombw) · [微博](https://weibo.com/ttarticle/p/show?id=2309404371771666085647) | | Spring Cloud 全链路跟踪 Zipkin | [CSDN](https://blog.csdn.net/dkbnull/article/details/93928005) · [知乎](https://zhuanlan.zhihu.com/p/71162391) · [微信](https://mp.weixin.qq.com/s/03ffLZfep8ZU6hgy8g_tQg) · [微博](https://weibo.com/ttarticle/p/show?id=2309404387944860409936) | | Spring Cloud Zuul 整合 Swagger2 | [CSDN](https://blog.csdn.net/dkbnull/article/details/97042333) · [知乎](https://zhuanlan.zhihu.com/p/74902374) · [微信](https://mp.weixin.qq.com/s/Mf7iVHd2cEN4UMVz0gAUHQ) · [微博](https://weibo.com/ttarticle/p/show?id=2309404397344069124460) |