
书: https://pan.baidu.com/s/1A6ZLSPMbCiZ-L4eRucUvXQ?pwd=kt7i
一、SpringBoot 基础
- “SpringBoot 的核心理念是‘约定优于配置’,通过 starter 依赖和自动配置快速搭建单体应用。”
- “
@SpringBootApplication
是复合注解,包含@Configuration
、@EnableAutoConfiguration
和@ComponentScan
。” - “YAML 配置文件支持多环境配置(如
application-dev.yml
),通过spring.profiles.active
激活。”
二、SpringCloud 微服务组件
- “Eureka 服务注册中心采用 CAP 理论中的 AP 模型,优先保证可用性而非强一致性。”
- “Ribbon 实现客户端负载均衡,支持轮询、随机等策略,需配合
@LoadBalanced
注解使用。” - “Hystrix 服务熔断通过‘断路器模式’防止雪崩效应,默认阈值是 5 秒内 20 次失败。”
- “Zuul/Gateway 的过滤器(Filter)可统一处理鉴权、限流等跨横切面逻辑。”
- “Config 分布式配置中心支持 Git 仓库动态更新,配合 Bus 消息总线实现批量刷新。”
三、消息队列与异步通信
- “RabbitMQ 的四种交换机类型:直连(Direct)、主题(Topic)、扇出(Fanout)、头(Headers)。”
- “消息确认机制(ACK)是保证可靠性的关键:生产者确认(Confirm)、消费者手动确认(Manual ACK)。”
- “死信队列(DLX)处理超时或拒收的消息,需配置
x-dead-letter-exchange
参数。”
四、Docker 与容器化
- “Dockerfile 的
FROM
指定基础镜像,COPY
添加应用,ENTRYPOINT
定义启动命令。” - “
docker-compose.yml
可编排多容器服务,如同时启动 MySQL、Redis 和微服务实例。” - “Kubernetes 是更高级的容器编排工具,但 Docker Swarm 适合中小规模快速部署。”
五、分布式系统设计
- “分布式事务的解决方案:Seata 的 AT 模式、TCC 柔性事务或最终一致性(消息队列+本地事件表)。”
- “SpringCloud Sleuth + Zipkin 实现链路追踪,通过 TraceID 串联跨服务调用日志。”
- “OAuth2 + JWT 是微服务安全的黄金组合,网关层统一校验 Token 权限。”
六、性能与监控
- “Actuator 暴露的
/health
和/metrics
端点需配合 Prometheus + Grafana 实现可视化监控。” - “缓存穿透解决方案:布隆过滤器(Bloom Filter)+ 空值缓存。”
七、实战经验
- “微服务拆分原则:按业务边界划分(DDD 领域驱动设计),避免‘分布式单体’陷阱。”