更新时间:2022-05-06 15:34:13
封面
版权信息
作者简介
内容简介
前言
引言 笔者经历的一次服务雪崩
第1章 基础知识
1.1 服务降级、限流、熔断、流量效果控制
1.1.1 限流降级
1.1.2 熔断降级
1.1.3 开关降级
1.2 Sentinel的特性
1.3 Sentinel性能压测
1.3.1 JMH基准测试
1.3.2 使用JMH进行Sentinel压测
1.4 小结
第2章 了解概念与核心类
2.1 了解Sentinel的一些概念
2.1.1 资源、规则、资源指标数据
2.1.2 调用链与调用树
2.1.3 处理器插槽
2.2 资源指标数据统计相关类
2.2.1 ResourceWrapper
2.2.2 Node
2.3 调用链上下文与入口类
2.3.1 Context
2.3.2 Entry
2.3.3 调用树与ROOT节点
2.4 处理器插槽:ProcessorSlot
2.5 小结
第3章 了解整体工作流程
3.1 SPI在Sentinel中的应用
3.1.1 Java SPI实现原理与适用场景
3.1.2 Java SPI在Sentinel中的应用
3.1.3 自定义组装ProcessorSlotChain
3.2 责任链模式在Sentinel中的应用
3.3 Sentinel的整体工作流程分析
3.4 小结
第4章 资源指标数据统计
4.1 基于滑动窗口实现资源指标数据统计
4.1.1 Bucket
4.1.2 滑动窗口
4.1.3 WindowWrap
4.1.4 通过时间戳定位Bucket
4.1.5 获取当前时间戳的前一个Bucket
4.2 资源指标数据统计全解析
4.2.1 节点选择器插槽
4.2.2 ClusterNode构造器插槽
4.2.3 资源指标数据统计插槽
4.2.4 资源指标数据的收集过程
4.3 小结
第5章 限流
5.1 限流功能实现原理
5.1.1 限流规则
5.1.2 限流规则加载器
5.1.3 限流处理器插槽
5.1.4 限流规则检查器
5.2 流量效果控制
5.2.1 经典限流算法
5.2.2 流量效果控制器
5.2.3 快速失败流量效果控制器
5.2.4 匀速限流效果控制器
5.2.5 冷启动限流效果控制器
5.3 小结
第6章 熔断降级
6.1 旧版熔断降级
6.1.1 熔断降级规则
6.1.2 熔断降级的实现原理
6.2 新版熔断降级
6.2.1 旧版熔断降级的不足
6.2.2 新版本的改进
6.2.3 熔断器的实现原理
6.3 熔断器
6.3.1 抽象熔断器
6.3.2 异常熔断器
6.3.3 慢请求熔断器
6.4 小结
第7章 授权与系统自适应
7.1 授权功能的实现原理
7.1.1 授权规则
7.1.2 授权处理器插槽
7.1.3 授权规则检查器
7.2 系统自适应功能的实现原理
7.2.1 系统自适应限流规则
7.2.2 系统自适应限流判断流程
7.2.3 获取系统的平均负载和CPU使用率
7.2.4 checkBbr
7.3 小结
第8章 实现开关降级
8.1 使用AOP实现开关降级
8.2 扩展Sentinel实现开关降级
8.3 小结
第9章 动态数据源
9.1 实现规则动态配置的两种方式
9.2 使用Redis动态数据源
9.3 动态配置的实现原理
9.3.1 SentinelProperty
9.3.2 ReadableDataSource
9.4 基于Spring Cloud动态配置实现动态数据源
9.5 小结