Skip to content

复习提纲

11.1 Nacos Discovery 复习点

text
Nacos Discovery 是服务注册与发现组件。
服务启动时注册到 Nacos。
消费者通过服务名发现服务实例。
服务实例可以多副本部署。
调用时通过负载均衡选择一个实例。
namespace 和 group 可以做环境与分组隔离。

11.2 Nacos Config 复习点

text
Nacos Config 是配置中心。
配置可以从本地 application.yml 转移到 Nacos。
DataId 通常是 服务名-环境.yml。
Spring Boot 2.4+ 推荐用 spring.config.import。
@RefreshScope 可以实现动态刷新。
共享配置适合放公共配置。

11.3 OpenFeign 复习点

text
OpenFeign 是声明式 HTTP 客户端。
通过 @FeignClient 声明远程服务。
通过 @EnableFeignClients 开启扫描。
Feign 底层会生成代理对象。
调用接口方法时会发起 HTTP 请求。
Feign 可以结合 Nacos 做服务发现。
Feign 可以结合 Sentinel 做降级。

11.4 Sentinel 复习点

text
Sentinel 是流量治理组件。
核心概念是资源和规则。
资源可以是接口、方法、Feign 调用。
规则包括流控、熔断、热点、系统、授权。
QPS 限流表示每秒最多通过多少请求。
熔断可以按照慢调用比例、异常比例、异常数触发。
Sentinel Dashboard 默认懒加载,需要先访问接口。
Dashboard 手动配置的规则默认不持久化。

11.5 Gateway 复习点

text
Gateway 是微服务统一入口。
核心是 Route、Predicate、Filter。
Route 表示路由规则。
Predicate 判断请求是否匹配。
Filter 可以修改请求和响应。
lb://服务名 表示通过注册中心负载均衡调用。
Spring Cloud 2025 推荐使用 gateway-server-webflux 新 starter 和新属性前缀。
Gateway 是 WebFlux 响应式应用,不要混用 Servlet Web。

11.6 上下文透传复习点

text
上下文透传是把请求上下文沿调用链传递。
常见 Header 有 X-Request-Id、X-User-Id、X-Tenant-Id、Authorization。
Gateway 负责生成或校验上下文。
下游服务通过 Filter 解析 Header。
Feign 通过 RequestInterceptor 继续传递 Header。
ThreadLocal 必须在 finally 中 clear。
不要无脑信任客户端传来的用户身份 Header。

12. 一句话总结

text
Nacos 解决服务在哪里和配置在哪里;
OpenFeign 解决服务之间怎么优雅调用;
Sentinel 解决流量过大和下游故障时如何保护系统;
Gateway 解决微服务统一入口、路由、过滤、鉴权和上下文透传;
全链路上下文透传解决一次请求在多个服务之间如何保持身份、租户和追踪信息一致。

Released under the MIT License.