Spring Cloud Alibaba 微服务原理与实战
2021-11-21 16:05:31 0 举报
AI智能生成
Spring Cloud Alibaba 微服务原理与实战书签
作者其他创作
大纲/内容
封面 1
推荐序1 5
推荐序2 6
推荐序3 7
前言 8
第1章 微服务的发展史 11
1.1 从单体架构到分布式架构的演进 11
1.1.1 单体架构 11
1.1.2 集群及垂直化 12
1.1.3 SOA
1.1.4 微服务架构 15
1.2 微服务架构带来的挑战 16
1.2.1 微服务架构的优点 16
1.2.2 微服务架构面临的挑战 17
1.3 如何实现微服务架构 17
1.3.1 微服务架构图 18
1.3.2 微服务架构下的技术挑战 18
第2章 微服务解决方案之Spring Cloud 20
2.1 什么是Spring Cloud 20
2.2 Spring Cloud版本简介 21
2.3 Spring Cloud规范下的实现 23
2.4 Spring Cloud Netflix 23
2.5 Spring Cloud Alibaba 24
2.5.1 Spring Cloud Alibaba的优势 25
2.5.2 Spring Cloud Alibaba的版本 25
第3章 Spring Cloud的核心之Spring Boot 27
3.1 重新认识Spring Boot 27
3.1.1 Spring IoC/DI 27
3.1.2 Bean装配方式的升级 29
3.1.3 Spring Boot的价值 32
3.2 快速构建Spring Boot应用 33
3.3 Spring Boot自动装配的原理 34
3.3.1 自动装配的实现 36
3.3.2 EnableAutoConfiguration 37
3.3.3 AutoConfigurationImportSelector 37
3.3.4 自动装配原理分析 39
3.3.5@Conditional条件装配 42
3.3.6 spring-autoconfigure-metadata 47
3.4 手写实现一个Starter 47
3.4.1 Starter的命名规范 48
3.4.2 实现基于Redis的Starter 48
3.5 本章小结 51
第4章 微服务架构下的服务治理 52
4.1 如何理解Apache Dubbo 52
4.2 Apache Dubbo实现远程通信 53
4.3 Spring Boot集成Apache Dubbo 59
4.4 快速上手ZooKeeper 63
4.4.1 ZooKeeper的安装 63
4.4.2 ZooKeeper的数据结构 63
4.4.3 ZooKeeper的特性 64
4.4.4 Watcher机制 65
4.4.5 常见应用场景分析 65
4.5 Apache Dubbo集成ZooKeeper实现服务注册 67
4.5.1 Apache Dubbo集成ZooKeeper实现服务注册的步骤 68
4.5.2 ZooKeeper注册中心的实现原理 69
4.6 实战Dubbo Spring Cloud 71
4.6.1 实现Dubbo服务提供方 71
4.6.2 实现Dubbo服务调用方 74
4.7 Apache Dubbo的高级应用 77
4.7.1 集群容错 77
4.7.2 负载均衡 79
4.7.3 服务降级 79
4.7.4 主机绑定规则 81
4.8 Apache Dubbo核心源码分析 82
4.8.1 源码构建 82
4.8.2 Dubbo的核心之SPI 83
4.8.3 无处不在的自适应扩展点 94
4.8.4 Dubbo中的IoC和AOP 99
4.8.5 Dubbo和Spring完美集成的原理 104
4.9 本章小结 113
第5章 服务注册与发现 114
5.1 什么是Alibaba Nacos 114
5.2 Nacos的基本使用 115
5.2.1 Nacos的安装 115
5.2.2 Nacos服务注册发现相关API说明 116
5.2.3 Nacos集成Spring Boot实现服务注册与发现 118
5.3 Nacos的高可用部署 120
5.3.1 安装环境要求 121
5.3.2 安装包及环境准备 121
5.3.3 集群配置 121
5.3.4 配置MySQL数据库 122
5.3.5 启动Nacos服务
5.4 Dubbo使用Nacos实现注册中心 123
5.5 Spring Cloud Alibaba Nacos Discovery 127
5.5.1 服务端开发 127
5.5.2 消费端开发 133
5.6 Nacos实现原理分析 136
5.6.1 Nacos架构图 136
5.6.2 注册中心的原理 137
5.7 深入解读Nacos源码 138
5.7.1 Spring Cloud什么时候完成服务注册 138
5.7.2 NacosServiceRegistry的实现 143
5.7.3 从源码层面分析Nacos服务注册的原理 145
5.7.4 揭秘服务提供者地址查询 150
5.7.5 分析Nacos服务地址动态感知原理 153
5.8 本章小结 155
第6章 Nacos实现统一配置管理 156
6.1 Nacos配置中心简介 156
6.2 Nacos集成Spring Boot实现统一配置管理 156
6.2.1 项目准备 157
6.2.2 启动Nacos Server 158
6.2.3 创建配置 158
6.2.4 启动服务并测试 160
6.3 Spring Cloud Alibaba Nacos Config 160
6.3.1 Nacos Config的基本应用 160
6.3.2 动态更新配置 162
6.3.3 基于Data ID配置YAML的文件扩展名 164
6.3.4 不同环境的配置切换 165
6.3.5 Nacos Config自定义Namespace和Group 166
6.4 Nacos Config 实现原理解析 169
6.4.1 配置的CRUD 170
6.4.2 动态监听之Pull Or Push 170
6.5 Spring Cloud如何实现配置的加载 172
6.5.1 PropertySourceBootstrapConfiguration 172
6.5.2 PropertySourceLocator 175
6.6 Nacos Config核心源码解析 176
6.6.1 NacosFactory.createConfigService 179
6.6.2 NacosConfigService构造 180
6.6.3 ClientWorker 181
6.6.4 ClientWorker.checkConfigInfo 183
6.6.5 LongPollingRunnable.run 183
6.6.6 服务端长轮询处理机制 189
6.6.7 ClientLongPolling 193
6.7 本章小结 197
第7章 基于Sentinel的微服务限流及熔断 199
7.1 服务限流的作用及实现 199
7.1.1 计数器算法 200
7.1.2 滑动窗口算法 200
7.1.3 令牌桶限流算法 201
7.1.4 漏桶限流算法 202
7.2 服务熔断与降级 203
7.3 分布式限流框架Sentinel 205
7.3.1 Sentinel的特性 205
7.3.2 Sentinel的组成 206
7.3.3 Sentinel Dashboard的部署 206
7.4 Sentinel的基本应用 207
7.4.1 Sentinel实现限流 207
7.4.2 资源的定义方式 210
7.4.3 Sentinel资源保护规则 211
7.4.4 Sentinel实现服务熔断 215
7.5 Spring Cloud集成Sentinel实践 217
7.5.1 Sentinel接入Spring Cloud 217
7.5.2 基于Sentinel Dashboard来实现流控配置 219
7.5.3 自定义URL限流异常 222
7.5.4 URL资源清洗 222
7.6 Sentinel集成Nacos实现动态流控规则 223
7.7 Sentinel Dashboard集成Nacos实现规则同步 228
7.7.1 Sentinel Dashboard源码修改 228
7.7.2 Sentinel Dashboard规则数据同步 234
7.8 Dubbo集成Sentinel实现限流 235
7.8.1 Dubbo服务接入Sentinel Dashboard 236
7.8.2 Dubbo服务限流规则配置 237
7.9.2@SentinelResource热点参数限流 241
7.9.3 热点参数规则说明 242
7.9 Sentinel热点限流
7.9.1 热点参数限流的使用 239
7.10 Sentinel的工作原理 242
7.11 Spring Cloud Sentinel工作原理分析 244
7.12 Sentinel核心源码分析 247
7.12.1 限流的源码实现 247
7.12.2 实时指标数据统计 255
7.12.3 服务降级的实现原理 269
7.13 本章小结 273
第8章 分布式事务 274
8.1 分布式事务问题的理论模型 274
8.1.1 X/Open分布式事务模型 275
8.1.2 两阶段提交协议 276
8.1.3 三阶段提交协议 278
8.1.4 CAP定理和BASE理论 280
8.2 分布式事务问题的常见解决方案 281
8.2.1 TCC补偿型方案 281
8.2.2 基于可靠性消息的最终一致性方案 283
8.2.3 最大努力通知型 285
8.3 分布式事务框架Seata 287
8.3.1 AT模式 287
8.3.2 Saga模式 288
8.4 Seata的安装 292
8.4.1 file存储模式 293
8.4.2 db存储模式 293
8.4.3 Seata服务端配置中心说明 296
8.5 AT模式Dubbo集成Seata 305
8.5.1 项目准备 306
8.5.2 数据库准备 306
8.5.3 核心方法说明 308
8.5.4 项目启动顺序及访问 315
8.5.5 整合Seata实现分布式事务 315
8.6 Spring Cloud Alibaba Seata 321
8.6.1 Spring Cloud项目准备 322
8.6.2 集成Spring Cloud Alibaba Seata 322
8.6.3 关于事务分组的说明 329
8.7 Seata AT模式的实现原理 330
8.7.1 AT模式第一阶段的实现原理 331
8.7.2 AT模式第二阶段的原理分析 333
8.7.3 关于事务的隔离性保证 335
8.8 本章小结 339
第9章 RocketMQ分布式消息通信 340
9.1 什么是RocketMQ 340
9.1.1 RocketMQ的应用场景 340
9.1.2 RocketMQ的安装 341
9.1.3 RocketMQ如何发送消息 341
9.1.4 RocketMQ如何消费消息 344
9.2 Spring Cloud Alibaba RocketMQ 347
9.2.1 Spring Cloud Alibaba RocketMQ架构图 349
9.2.2 Spring Cloud Stream消息发送流程 350
9.2.3 RocketMQ Binder集成消息发送 357
9.2.4 RocketMQ Binder集成消息订阅 363
9.2.5 Spring Cloud Stream消息订阅流程 371
9.3 RocketMQ集群管理 378
9.3.1 整体架构设计 378
9.3.2 基本概念 379
9.3.3 为什么放弃ZooKeeper而选择NameServer 380
9.4 如何实现顺序消息 382
9.4.1 顺序消息的使用场景 382
9.4.2 如何发送和消费顺序消息 383
9.4.3 顺序发送的技术原理 385
9.4.4 普通发送的技术原理 388
9.4.5 顺序消费的技术原理 390
9.4.6 并发消费的技术原理 391
9.4.7 消息的幂等性 391
9.5 如何实现事务消息 392
9.5.1 事务消息的使用场景 392
9.5.2 如何发送事务消息 393
9.5.3 事务消息的技术原理 396
9.6 高性能设计 398
9.6.1 顺序写盘 399
9.6.2 消费队列设计 401
9.6.3 消息跳跃读取 403
9.6.4 数据零拷贝 404
9.6.5 动态伸缩能力 404
9.6.6 消息实时投递 404
9.7 高可用设计 405
9.7.1 消息发送重试机制 406
9.7.2 故障规避机制 408
9.7.3 同步刷盘与异步刷盘 412
9.7.4 主从复制 422
9.7.5 读写分离 422
9.7.6 消费重试机制 423
9.7.7 ACK机制 423
9.7.8 Broker集群部署 424
9.8 本章小结 425
第10章 微服务网关之Spring Cloud Gateway 426
10.1 API网关的作用 426
10.1.1 统一认证鉴权 427
10.1.2 灰度发布 428
10.2 网关的本质及技术选型 429
10.2.1 OpenResty 430
10.2.2 Spring Cloud Zuul 432
10.2.3 Spring Cloud Gateway 433
10.3 Spring Cloud Gateway网关实战 433
10.3.1 spring-cloud-gateway-service 434
10.3.2 spring-cloud-gateway-sample 434
10.4 Spring Cloud Gateway原理分析 435
10.5 Route Predicate Factories 436
10.5.1 指定时间规则匹配路由 437
10.5.2 Cookie匹配路由 438
10.5.3 Header匹配路由 438
10.5.4 Host匹配路由 439
10.5.5 请求方法匹配路由 439
10.5.6 请求路径匹配路由 439
10.6 Gateway Filter Factories 440
10.6.1 GatewayFilter 440
10.6.2 GlobalFilter 446
10.7 自定义过滤器 449
10.7.1 自定义GatewayFilter 449
10.7.2 自定义GlobalFilter 452
10.8 Spring Cloud Gateway集成Nacos实现请求负载
10.9 Spring Cloud Gateway集成Sentinel网关限流 257
10.9.1 Route维度限流 457
10.9.2 自定义API分组限流 461
10.9.3 自定义异常 462
10.9.4 网关流控控制台 464
10.9.5 网关限流原理 464
10.10 本章小结 465
反侵权盗版声明 468
0 条评论
下一页
为你推荐
查看更多