计算机
类型
7.2
豆瓣评分
可以朗读
语音朗读
175千字
字数
2020-04-01
发行日期
展开全部
主编推荐语
全面分析Spring Cloud Alibaba技术组件,采用高效学习模型,深度剖析原理。
内容简介
本书针对Spring Cloud Alibaba生态下的技术组件从应用到原理进行全面的分析,涉及的技术组件包括分布式服务治理Dubbo、服务配置和服务注册中心Nacos、分布式限流与熔断Sentinel、分布式消息通信RocketMQ、分布式事务Seata及微服务网关Spring Cloud Gateway。由于Spring Cloud中所有的技术组件都是基于Spring Boot微服务框架来集成的,所以对于Spring Boot的核心原理也做了比较详细的分析。
本书中涉及的所有技术组件,笔者都采用“场景→需求→解决方案→应用→原理”高效技术学习模型进行设计,以便让读者知其然且知其所以然。在“原理”部分,笔者采用大量的源码及图形的方式来进行分析,帮助读者达到对技术组件深度学习和理解的目标。
目录
- 版权信息
- 推荐序1
- 推荐序2
- 推荐序3
- 前言
- 第1章 微服务的发展史
- 1.1 从单体架构到分布式架构的演进
- 1.1.1 单体架构
- 1.1.2 集群及垂直化
- 1.1.3 SOA
- 1.1.4 微服务架构
- 1.2 微服务架构带来的挑战
- 1.2.1 微服务架构的优点
- 1.2.2 微服务架构面临的挑战
- 1.3 如何实现微服务架构
- 1.3.1 微服务架构图
- 1.3.2 微服务架构下的技术挑战
- 第2章 微服务解决方案之Spring Cloud
- 2.1 什么是Spring Cloud
- 2.2 Spring Cloud版本简介
- 2.3 Spring Cloud规范下的实现
- 2.4 Spring Cloud Netflix
- 2.5 Spring Cloud Alibaba
- 2.5.1 Spring Cloud Alibaba的优势
- 2.5.2 Spring Cloud Alibaba的版本
- 第3章 Spring Cloud的核心之Spring Boot
- 3.1 重新认识Spring Boot
- 3.1.1 Spring IoC/DI
- 3.1.2 Bean装配方式的升级
- 3.1.3 Spring Boot的价值
- 3.2 快速构建Spring Boot应用
- 3.3 Spring Boot自动装配的原理
- 3.3.1 自动装配的实现
- 3.3.2 EnableAutoConfiguration
- 3.3.3 AutoConfigurationImportSelector
- 3.3.4 自动装配原理分析
- 3.3.5 @Conditional条件装配
- 3.3.6 spring-autoconfigure-metadata
- 3.4 手写实现一个Starter
- 3.4.1 Starter的命名规范
- 3.4.2 实现基于Redis的Starter
- 3.5 本章小结
- 第4章 微服务架构下的服务治理
- 4.1 如何理解Apache Dubbo
- 4.2 Apache Dubbo实现远程通信
- 4.3 Spring Boot集成Apache Dubbo
- 4.4 快速上手ZooKeeper
- 4.4.1 ZooKeeper的安装
- 4.4.2 ZooKeeper的数据结构
- 4.4.3 ZooKeeper的特性
- 4.4.4 Watcher机制
- 4.4.5 常见应用场景分析
- 4.5 Apache Dubbo集成ZooKeeper实现服务注册
- 4.5.1 Apache Dubbo集成ZooKeeper实现服务注册的步骤
- 4.5.2 ZooKeeper注册中心的实现原理
- 4.6 实战Dubbo Spring Cloud
- 4.6.1 实现Dubbo服务提供方
- 4.6.2 实现Dubbo服务调用方
- 4.7 Apache Dubbo的高级应用
- 4.7.1 集群容错
- 4.7.2 负载均衡
- 4.7.3 服务降级
- 4.7.4 主机绑定规则
- 4.8 Apache Dubbo核心源码分析
- 4.8.1 源码构建
- 4.8.2 Dubbo的核心之SPI
- 4.8.3 无处不在的自适应扩展点
- 4.8.4 Dubbo中的IoC和AOP
- 4.8.5 Dubbo和Spring完美集成的原理
- 4.9 本章小结
- 第5章 服务注册与发现
- 5.1 什么是Alibaba Nacos
- 5.2 Nacos的基本使用
- 5.2.1 Nacos的安装
- 5.2.2 Nacos服务注册发现相关API说明
- 5.2.3 Nacos集成Spring Boot实现服务注册与发现
- 5.3 Nacos的高可用部署
- 5.3.1 安装环境要求
- 5.3.2 安装包及环境准备
- 5.3.3 集群配置
- 5.3.4 配置MySQL数据库
- 5.3.5 启动Nacos服务
- 5.4 Dubbo使用Nacos实现注册中心
- 5.5 Spring Cloud Alibaba Nacos Discovery
- 5.5.1 服务端开发
- 5.5.2 消费端开发
- 5.6 Nacos实现原理分析
- 5.6.1 Nacos架构图
- 5.6.2 注册中心的原理
- 5.7 深入解读Nacos源码
- 5.7.1 Spring Cloud什么时候完成服务注册
- 5.7.2 NacosServiceRegistry的实现
- 5.7.3 从源码层面分析Nacos服务注册的原理
- 5.7.4 揭秘服务提供者地址查询
- 5.7.5 分析Nacos服务地址动态感知原理
- 5.8 本章小结
- 第6章 Nacos实现统一配置管理
- 6.1 Nacos配置中心简介
- 6.2 Nacos集成Spring Boot实现统一配置管理
- 6.2.1 项目准备
- 6.2.2 启动Nacos Server
- 6.2.3 创建配置
- 6.2.4 启动服务并测试
- 6.3 Spring Cloud Alibaba Nacos Config
- 6.3.1 Nacos Config的基本应用
- 6.3.2 动态更新配置
- 6.3.3 基于Data ID配置YAML的文件扩展名
- 6.3.4 不同环境的配置切换
- 6.3.5 Nacos Config自定义Namespace和Group
- 6.4 Nacos Config 实现原理解析
- 6.4.1 配置的CRUD
- 6.4.2 动态监听之Pull Or Push
- 6.5 Spring Cloud如何实现配置的加载
- 6.5.1 PropertySourceBootstrapConfiguration
- 6.5.2 PropertySourceLocator
- 6.6 Nacos Config核心源码解析
- 6.6.1 NacosFactory.createConfigService
- 6.6.2 NacosConfigService构造
- 6.6.3 ClientWorker
- 6.6.4 ClientWorker.checkConfigInfo
- 6.6.5 LongPollingRunnable.run
- 6.6.6 服务端长轮询处理机制
- 6.6.7 ClientLongPolling
- 6.7 本章小结
- 第7章 基于Sentinel的微服务限流及熔断
- 7.1 服务限流的作用及实现
- 7.1.1 计数器算法
- 7.1.2 滑动窗口算法
- 7.1.3 令牌桶限流算法
- 7.1.4 漏桶限流算法
- 7.2 服务熔断与降级
- 7.3 分布式限流框架Sentinel
- 7.3.1 Sentinel的特性
- 7.3.2 Sentinel的组成
- 7.3.3 Sentinel Dashboard的部署
- 7.4 Sentinel的基本应用
- 7.4.1 Sentinel实现限流
- 7.4.2 资源的定义方式
- 7.4.3 Sentinel资源保护规则
- 7.4.4 Sentinel实现服务熔断
- 7.5 Spring Cloud集成Sentinel实践
- 7.5.1 Sentinel接入Spring Cloud
- 7.5.2 基于Sentinel Dashboard来实现流控配置
- 7.5.3 自定义URL限流异常
- 7.5.4 URL资源清洗
- 7.6 Sentinel集成Nacos实现动态流控规则
- 7.7 Sentinel Dashboard集成Nacos实现规则同步
- 7.7.1 Sentinel Dashboard源码修改
- 7.7.2 Sentinel Dashboard规则数据同步
- 7.8 Dubbo集成Sentinel实现限流
- 7.8.1 Dubbo服务接入Sentinel Dashboard
- 7.8.2 Dubbo服务限流规则配置
- 7.9 Sentinel热点限流
- 7.9.1 热点参数限流的使用
- 7.9.2 @SentinelResource热点参数限流
- 7.9.3 热点参数规则说明
- 7.10 Sentinel的工作原理
- 7.11 Spring Cloud Sentinel工作原理分析
- 7.12 Sentinel核心源码分析
- 7.12.1 限流的源码实现
- 7.12.2 实时指标数据统计
- 7.12.3 服务降级的实现原理
- 7.13 本章小结
- 第8章 分布式事务
- 8.1 分布式事务问题的理论模型
- 8.1.1 X/Open分布式事务模型
- 8.1.2 两阶段提交协议
- 8.1.3 三阶段提交协议
- 8.1.4 CAP定理和BASE理论
- 8.2 分布式事务问题的常见解决方案
- 8.2.1 TCC补偿型方案
- 8.2.2 基于可靠性消息的最终一致性方案
- 8.2.3 最大努力通知型
- 8.3 分布式事务框架Seata
- 8.3.1 AT模式
- 8.3.2 Saga模式
- 8.4 Seata的安装
- 8.4.1 file存储模式
- 8.4.2 db存储模式
- 8.4.3 Seata服务端配置中心说明
- 8.5 AT模式Dubbo集成Seata
- 8.5.1 项目准备
- 8.5.2 数据库准备
- 8.5.3 核心方法说明
- 8.5.4 项目启动顺序及访问
- 8.5.5 整合Seata实现分布式事务
- 8.6 Spring Cloud Alibaba Seata
- 8.6.1 Spring Cloud项目准备
- 8.6.2 集成Spring Cloud Alibaba Seata
- 8.6.3 关于事务分组的说明
- 8.7 Seata AT模式的实现原理
- 8.7.1 AT模式第一阶段的实现原理
- 8.7.2 AT模式第二阶段的原理分析
- 8.7.3 关于事务的隔离性保证
- 8.8 本章小结
- 第9章 RocketMQ分布式消息通信
- 9.1 什么是RocketMQ
- 9.1.1 RocketMQ的应用场景
- 9.1.2 RocketMQ的安装
- 9.1.3 RocketMQ如何发送消息
- 9.1.4 RocketMQ如何消费消息
- 9.2 Spring Cloud Alibaba RocketMQ
- 9.2.1 Spring Cloud Alibaba RocketMQ架构图
- 9.2.2 Spring Cloud Stream消息发送流程
- 9.2.3 RocketMQ Binder集成消息发送
- 9.2.4 RocketMQ Binder集成消息订阅
- 9.2.5 Spring Cloud Stream消息订阅流程
- 9.3 RocketMQ集群管理
- 9.3.1 整体架构设计
- 9.3.2 基本概念
- 9.3.3 为什么放弃ZooKeeper而选择NameServer
- 9.4 如何实现顺序消息
- 9.4.1 顺序消息的使用场景
- 9.4.2 如何发送和消费顺序消息
- 9.4.3 顺序发送的技术原理
- 9.4.4 普通发送的技术原理
- 9.4.5 顺序消费的技术原理
- 9.4.6 并发消费的技术原理
- 9.4.7 消息的幂等性
- 9.5 如何实现事务消息
- 9.5.1 事务消息的使用场景
- 9.5.2 如何发送事务消息
- 9.5.3 事务消息的技术原理
- 9.6 高性能设计
- 9.6.1 顺序写盘
- 9.6.2 消费队列设计
- 9.6.3 消息跳跃读取
- 9.6.4 数据零拷贝
- 9.6.5 动态伸缩能力
- 9.6.6 消息实时投递
- 9.7 高可用设计
- 9.7.1 消息发送重试机制
- 9.7.2 故障规避机制
- 9.7.3 同步刷盘与异步刷盘
- 9.7.4 主从复制
- 9.7.5 读写分离
- 9.7.6 消费重试机制
- 9.7.7 ACK机制
- 9.7.8 Broker集群部署
- 9.8 本章小结
- 第10章 微服务网关之Spring Cloud Gateway
- 10.1 API网关的作用
- 10.1.1 统一认证鉴权
- 10.1.2 灰度发布
- 10.2 网关的本质及技术选型
- 10.2.1 OpenResty
- 10.2.2 Spring Cloud Zuul
- 10.2.3 Spring Cloud Gateway
- 10.3 Spring Cloud Gateway网关实战
- 10.3.1 spring-cloud-gateway-service
- 10.3.2 spring-cloud-gateway-sample
- 10.4 Spring Cloud Gateway原理分析
- 10.5 Route Predicate Factories
- 10.5.1 指定时间规则匹配路由
- 10.5.2 Cookie匹配路由
- 10.5.3 Header匹配路由
- 10.5.4 Host匹配路由
- 10.5.5 请求方法匹配路由
- 10.5.6 请求路径匹配路由
- 10.6 Gateway Filter Factories
- 10.6.1 GatewayFilter
- 10.6.2 GlobalFilter
- 10.7 自定义过滤器
- 10.7.1 自定义GatewayFilter
- 10.7.2 自定义GlobalFilter
- 10.8 Spring Cloud Gateway集成Nacos实现请求负载
- 10.9 Spring Cloud Gateway集成Sentinel网关限流
- 10.9.1 Route维度限流
- 10.9.2 自定义API分组限流
- 10.9.3 自定义异常
- 10.9.4 网关流控控制台
- 10.9.5 网关限流原理
- 10.10 本章小结
- 反侵权盗版声明
展开全部
出版方
电子工业出版社
电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。