《Spring Cloud Alibaba 微服务原理与实战》读书笔记

《Spring Cloud Alibaba 微服务原理与实战》读书笔记

感觉不怎么样……

Spring 体系简介

Spring Cloud 是一套基于 Spring Boot 整合了各大公司开源技术的规范,它屏蔽掉了复杂的配置,给开发者良好的开箱即用的微服务开发体验。

Spring Boot 诞生的一个原因是:Mike Youngstorm 想要在 Spring 框架中支持无容器 Web 应用的程序体系结构。其并不是一个新的技术框架,作用就是简化 Spring 应用的开发,达成此目的的最核心的思想就是:约定优于配置

  • Maven 目录结构的约定
  • 默认配置文件及其配置文件属性的约定
  • 依赖 Spring MVC 依赖,则自动依赖 Tomcat 容器
  • Starter 组件自动完成装配

Spring Boot 的核心:

  • Starter 组件
  • 自动装配 Bean
  • Actuator 监控
  • Spring Boot CLI

自动装配的实现:通过内置在 @SpringBootApplication 中的 @EnableAutoConfiguration 注解来开启的,在 @EnableAutoConfiguration 内部则引入了 @Import 注解。@Import 注解的参数一般是配置类,在此则是 AutoConfigurationImportSelector.class

AutoConfigurationImportSelector 实现了 ImportSelector,其可以实现批量装配,并且可以通过逻辑来选择性装配。AutoConfigurationImportSelector 中的 selectImports 方法从 META-INF/spring-autoconfigure-metadata.properties 中加载自动装配的条件元数据,然后装载所有符合条件的配置类。

Sentinel 章节

  • 处理突发流量:令牌桶算法,因为其有固定的大小。
  • 平滑网络上的突发流量:漏桶限流算法,无法处理短时间内的突发流量

Sentinel 限流算法采用滑动窗口算法,底层是一个环形数据结构 LeapArray

分布式事务章节

Seata 提供 AT、TCC、Saga 和 XA 事务模式,为开发者提供一站式分布式事务解决方案。

Saga 是长事务解决方案:一个业务流程中的长事务拆分为多个本地短事务。