《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 是长事务解决方案:一个业务流程中的长事务拆分为多个本地短事务。