.jpg)
书: https://pan.baidu.com/s/1o53U8DJYBlzPKes4X47C8Q?pwd=ymj8
笔记如下:
- “微服务的本质是‘单一职责’:每个服务独立开发、部署和扩展,通过轻量级API协作。”
- “Spring Cloud的核心目标:简化分布式系统的常见模式(如配置管理、服务发现、熔断)。”
- “
@EnableEurekaServer
启动服务注册中心,@EnableDiscoveryClient
让服务自动注册到Eureka。” - “Spring Cloud Config的
@EnableConfigServer
集中管理配置,支持Git/SVN版本化存储。” - “RESTful服务间调用:
Feign
声明式接口(@FeignClient
)比RestTemplate
更优雅。” - “熔断器模式:
@EnableHystrix
启用Hystrix,@HystrixCommand(fallbackMethod="fallback")
定义降级逻辑。” - “API网关(Spring Cloud Gateway)的核心功能:路由(
RouteLocator
)、过滤(GlobalFilter
)和限流(RequestRateLimiter
)。” - “分布式配置的加密:
/encrypt
端点加密敏感数据,配置文件中使用{cipher}密文
。” - “
Spring Cloud Sleuth
+Zipkin
实现分布式追踪,traceId
和spanId
关联跨服务请求。” - “消息驱动架构:
@EnableBinding
定义消息通道(如Source
/Sink
),StreamListener
处理事件。” - “服务容错三剑客:熔断(Hystrix)、限流(Resilience4j)、重试(
@Retryable
)。” - “OAuth2保护微服务:
@EnableResourceServer
配置资源服务,JwtTokenStore
验证令牌。” - “
Spring Cloud Contract
契约测试确保服务提供者和消费者的API兼容性。” - “Kubernetes集成:
spring-cloud-kubernetes
替代Eureka,通过K8s的Service和Endpoint发现服务。” - “
@RefreshScope
实现配置热更新,无需重启服务,配合/actuator/refresh
触发。” - “分布式事务的最终一致性:Saga模式通过事件(
ApplicationEvent
)协调多服务操作。” - “
Spring Cloud Bus
广播配置变更(如RabbitMQ/Kafka),通知所有服务刷新。” - “服务网格(如Istio)与Spring Cloud的互补:前者处理基础设施层,后者专注业务逻辑。”
- “性能调优:
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds
调整超时阈值。” - “架构师箴言:‘先拆功能边界(领域驱动设计),再选技术组件;监控比功能更重要’。”