以下是Spring Cloud当前常用组件及使用方式整理:
一、核心组件体系
-
服务注册与发现
- Nacos(推荐)
<!-- 依赖配置 --> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
@SpringBootApplication @EnableDiscoveryClient // 启动服务注册 public class Application { ... }
-
服务调用
- OpenFeign
@FeignClient(name = "order-service") public interface OrderClient { @GetMapping("/orders/{id}") Order getOrder(@PathVariable Long id); }
-
负载均衡
- LoadBalancer(Spring Cloud 2020+)
@LoadBalanced // 启用负载均衡 @Bean public RestTemplate restTemplate() { return new RestTemplate(); }
-
API网关
- Spring Cloud Gateway
spring: cloud: gateway: routes: - id: product_route uri: lb://product-service predicates: - Path=/api/products/**
-
配置中心
- Nacos Config
spring: cloud: nacos: config: server-addr: localhost:8848 file-extension: yaml
-
熔断降级
- Sentinel
@GetMapping("/info") @SentinelResource(value = "getInfo", fallback = "fallbackMethod") public String getInfo() { ... }
-
消息驱动
- Stream
@Bean public Supplier<String> source() { return () -> "payload"; }
-
**链路追踪
- Sleuth + Zipkin
spring: sleuth: sampler: probability: 1.0 zipkin: base-url: http://localhost:9411
二、版本匹配建议
使用Spring Cloud 2021.0.x(代号Jubilee)时:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>2021.0.8</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
三、典型架构示例
[网关] -> [认证中心] -> [业务服务集群]
↗ ↘
[配置中心] [注册中心]
↖ ↙
[监控平台] <- [追踪系统]
注:具体实现需配套中间件服务(如Nacos Server、Zipkin Server等),建议使用Docker进行环境部署。各组件配置参数需根据实际网络环境和性能要求进行调整。