Java微服务架构实战SpringBoot+SpringCloud+Docker+RabbitMQ(李兴华)

书: https://pan.baidu.com/s/1A6ZLSPMbCiZ-L4eRucUvXQ?pwd=kt7i

一、SpringBoot 基础

  1. “SpringBoot 的核心理念是‘约定优于配置’,通过 starter 依赖和自动配置快速搭建单体应用。”
  2. @SpringBootApplication 是复合注解,包含@Configuration@EnableAutoConfiguration@ComponentScan。”
  3. “YAML 配置文件支持多环境配置(如application-dev.yml),通过spring.profiles.active激活。”

二、SpringCloud 微服务组件

  1. “Eureka 服务注册中心采用 CAP 理论中的 AP 模型,优先保证可用性而非强一致性。”
  2. “Ribbon 实现客户端负载均衡,支持轮询、随机等策略,需配合@LoadBalanced注解使用。”
  3. “Hystrix 服务熔断通过‘断路器模式’防止雪崩效应,默认阈值是 5 秒内 20 次失败。”
  4. “Zuul/Gateway 的过滤器(Filter)可统一处理鉴权、限流等跨横切面逻辑。”
  5. “Config 分布式配置中心支持 Git 仓库动态更新,配合 Bus 消息总线实现批量刷新。”

三、消息队列与异步通信

  1. “RabbitMQ 的四种交换机类型:直连(Direct)、主题(Topic)、扇出(Fanout)、头(Headers)。”
  2. “消息确认机制(ACK)是保证可靠性的关键:生产者确认(Confirm)、消费者手动确认(Manual ACK)。”
  3. “死信队列(DLX)处理超时或拒收的消息,需配置x-dead-letter-exchange参数。”

四、Docker 与容器化

  1. “Dockerfile 的FROM指定基础镜像,COPY添加应用,ENTRYPOINT定义启动命令。”
  2. docker-compose.yml可编排多容器服务,如同时启动 MySQL、Redis 和微服务实例。”
  3. “Kubernetes 是更高级的容器编排工具,但 Docker Swarm 适合中小规模快速部署。”

五、分布式系统设计

  1. “分布式事务的解决方案:Seata 的 AT 模式、TCC 柔性事务或最终一致性(消息队列+本地事件表)。”
  2. “SpringCloud Sleuth + Zipkin 实现链路追踪,通过 TraceID 串联跨服务调用日志。”
  3. “OAuth2 + JWT 是微服务安全的黄金组合,网关层统一校验 Token 权限。”

六、性能与监控

  1. “Actuator 暴露的/health/metrics端点需配合 Prometheus + Grafana 实现可视化监控。”
  2. “缓存穿透解决方案:布隆过滤器(Bloom Filter)+ 空值缓存。”

七、实战经验

  1. “微服务拆分原则:按业务边界划分(DDD 领域驱动设计),避免‘分布式单体’陷阱。”

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注