编辑推荐
本书详解分布式系统14个核心技术组件,分析阿里、京东、网易等大厂面试真题。
内容简介
本书能帮助读者深入理解和掌握分布式系统架构与开发,以及快速了解各互联网大厂在分布式系统方面的高频面试题及其解法。
作者简介
作者郑天民,日本足利工业大学信息工程学硕士,拥有10余年软件行业从业经验,目前在一家大健康领域的创新型科技公司担任CTO,负责产品研发与技术团队管理工作。开发过10余个面向研发人员的技术和管理类培训课程项目,在架构设计和技术管理方面具有丰富的经验和深入的理解。他还是阿里云MVP、腾讯云TVP、TGO鲲鹏会会员。
著有《Apache ShardingSphere实战》《Spring响应式微服务Spring Boot 2+Spring 5+Spring Cloud实战》《系统架构设计》《向技术管理者转型》《微服务设计原理与架构》《微服务架构实战》等图书。
章节目录
版权信息
Preface 前言
Chapter 1 第1章 认识分布式系统
1.1 分布式系统概述
1.1.1 从单块系统到分布式系统
1.1.2 分布式系统的基本特性
1.1.3 分布式系统和微服务架构
1.2 分布式系统的核心设计要求
1.2.1 性能
1.2.2 可用性
1.2.3 可扩展性
1.2.4 服务治理
1.3 分布式系统开发技术组件
1.3.1 远程过程调用组件
1.3.2 微服务构建组件
1.3.3 通用技术组件
1.4 分布式系统的主流开发套件
1.4.1 Spring Boot
1.4.2 Spring Cloud
1.4.3 Dubbo
1.4.4 MyBatis
1.5 分布式系统面试题解析
1.6 本章小结
Chapter 2 第2章 剖析框架代码结构的系统方法
2.1 基于组件设计原则剖析代码结构
2.1.1 为什么代码结构要这么设计
2.1.2 组件设计原则与量化标准
2.1.3 组件设计原则与代码结构:Dubbo与MyBatis
2.1.4 循环依赖及其消除方法
2.2 基于架构演进过程剖析代码结构
2.2.1 如何从易到难对框架进行逐步拆解
2.2.2 Dubbo的架构演进过程
2.3 基于主流程剖析代码结构
2.3.1 如何抓住主流程并对框架进行分层剖析
2.3.2 MyBatis中的主流程
2.4 基于基础架构组成剖析代码结构
2.4.1 如何从基础架构扩展到具体实现框架
2.4.2 RPC基础架构
2.4.3 从RPC基础架构扩展到Dubbo框架
2.5 基于可扩展性设计剖析代码结构
2.5.1 如何在框架中预留可扩展点
2.5.2 常见的可扩展性设计方法
2.5.3 MyBatis TypeHandler机制
2.6 剖析框架代码结构面试题解析
2.7 本章小结
Chapter 3 第3章 网络通信
3.1 网络通信与Dubbo框架
3.1.1 网络通信基本概念
3.1.2 Dubbo中的网络通信组件
3.2 Dubbo服务器端通信原理
3.2.1 服务器端Exchange
3.2.2 服务器端Transport
3.2.3 服务器端Serialize
3.3 Dubbo客户端通信原理
3.4 网络通信面试题解析
3.5 本章小结
Chapter 4 第4章 远程调用
4.1 服务发布和引用
4.1.1 如何发布远程服务
4.1.2 如何引用远程服务
4.2 Dubbo中的远程调用
4.2.1 Dubbo服务发布流程
4.2.2 Dubbo服务引用流程
4.3 远程调用面试题解析
4.4 本章小结
Chapter 5 第5章 负载均衡
5.1 负载均衡基本原理
5.1.1 负载均衡的类型
5.1.2 负载均衡算法和策略
5.2 Dubbo中的负载均衡
5.2.1 Dubbo负载均衡整体结构
5.2.2 Dubbo负载均衡策略
5.3 Spring Cloud中的负载均衡
5.3.1 Netflix Ribbon核心机制
5.3.2 Netflix Ribbon负载均衡策略
5.3.3 Spring Cloud Netflix Ribbon实现原理
5.4 负载均衡面试题解析
5.5 本章小结
Chapter 6 第6章 服务容错
6.1 服务容错设计思想
6.1.1 服务消费者容错
6.1.2 服务容错策略
6.2 Dubbo中的集群容错
6.2.1 Dubbo中的集群
6.2.2 Dubbo中的容错机制
6.3 Spring Cloud中的服务熔断
6.3.1 Spring Cloud Circuit Breaker
6.3.2 Hystrix熔断机制
6.4 服务容错面试题解析
6.5 本章小结
Chapter 7 第7章 服务降级
7.1 服务降级策略
7.1.1 服务分级
7.1.2 服务回退
7.2 Dubbo中的服务降级
7.2.1 Dubbo中的Mock机制
7.2.2 MockInvoker和MockClusterInvoker
7.3 Spring Cloud中的服务降级
7.3.1 Spring Cloud中的回退机制
7.3.2 基于拦截器实现回退
7.4 服务降级面试题解析
7.5 本章小结
Chapter 8 第8章 注册中心
8.1 服务注册和发现
8.1.1 注册中心模型
8.1.2 注册中心实现工具
8.2 Dubbo中的注册中心
8.2.1 Dubbo注册中心模型
8.2.2 ZooKeeper基本原理与操作方式
8.2.3 ZooKeeper注册中心实现过程
8.3 Spring Cloud中的注册中心
8.3.1 Eureka注册中心模型
8.3.2 Eureka服务器端基本原理
8.3.3 Eureka客户端基本原理
8.4 注册中心面试题解析
8.5 本章小结
Chapter 9 第9章 服务网关
9.1 服务网关的核心概念
9.1.1 服务网关的作用
9.1.2 服务网关的结构和功能
9.2 Spring Cloud Gateway工作原理
9.2.1 响应式编程概述
9.2.2 Spring Cloud Gateway架构
9.2.3 路由和过滤器
9.3 服务网关面试题解析
9.4 本章小结
Chapter 10 第10章 配置中心
10.1 配置中心基本模型
10.1.1 配置中心与微服务架构
10.1.2 配置中心实现工具
10.2 Spring Cloud Config工作机制
10.2.1 Spring Cloud Config Server工作机制
10.2.2 Spring Cloud Config Client工作机制
10.3 Spring Cloud Config配置信息更新
10.3.1 Spring Cloud Config客户端更新策略
10.3.2 配置信息热更新机制
10.4 配置中心面试题解析
10.5 本章小结
Chapter 11 第11章 消息通信
11.1 事件驱动和消息通信
11.1.1 事件驱动架构的需求
11.1.2 消息通信机制和消息中间件
11.1.3 基于消息通信机制的系统集成方法
11.2 从Spring Messaging到Spring Cloud Stream
11.2.1 Spring Messaging和Spring Integration
11.2.2 Spring Cloud Stream中的Spring Integration
11.2.3 Spring Cloud Stream基本架构
11.3 Spring Cloud Stream整合消息中间件
11.3.1 Spring Cloud Stream发送和接收消息
11.3.2 RabbitMQ发送和接收消息
11.4 消息通信面试题解析
11.5 本章小结
Chapter 12 第12章 动态代理
12.1 代理模式和类型
12.1.1 静态代理机制
12.1.2 动态代理机制
12.2 Dubbo远程访问中的代理机制
12.2.1 ProxyFactory
12.2.2 JdkProxyFactory
12.3 MyBatis数据访问中的代理机制
12.3.1 Mapper和动态代理
12.3.2 延迟加载和动态代理
12.4 动态代理面试题解析
12.5 本章小结
Chapter 13 第13章 应用缓存
13.1 应用缓存的设计策略
13.1.1 经典缓存分层架构
13.1.2 应用缓存的分级模式
13.2 MyBatis一级缓存
13.2.1 Cache
13.2.2 PerpetualCache
13.2.3 一级缓存与BaseExecutor
13.3 MyBatis二级缓存
13.3.1 CacheBuilder
13.3.2 二级缓存与CachingExecutor
13.4 应用缓存面试题解析
13.5 本章小结
Chapter 14 第14章 资源管理
14.1 资源管理和资源池
14.1.1 资源池模型
14.1.2 资源池实现示例
14.2 MyBatis中的数据库连接池
14.2.1 连接池的工作流程和核心要素
14.2.2 Connection对象获取过程
14.2.3 PooledDataSource
14.2.4 UnpooledDataSource
14.3 资源管理面试题解析
14.4 本章小结
Chapter 15 第15章 框架集成
15.1 Spring中的启动扩展点
15.1.1 InitializingBean和DisposableBean
15.1.2 BeanPostProcessor
15.1.3 Aware
15.1.4 ApplicationListener
15.2 Spring自定义标签体系
15.2.1 标签扩展时机
15.2.2 标签扩展的开发流程
15.3 Spring Boot自动配置
15.4 Dubbo的框架集成
15.4.1 Dubbo启动机制
15.4.2 Dubbo自定义配置标签
15.5 MyBatis的框架集成
15.5.1 MyBatis-Spring启动过程
15.5.2 MyBatis-Spring-Boot-Starter
15.6 框架集成面试题解析
15.7 本章小结
Chapter 16 第16章 架构模式
16.1 架构模式与应用
16.1.1 模式的概念和分类
16.1.2 基于架构模式把握框架设计思想
16.2 微内核模式及其应用
16.2.1 微内核模式和插件化系统
16.2.2 微内核模式的基本实现:SPI机制
16.2.3 微内核模式在Dubbo中的应用
16.2.4 Dubbo中的扩展点
16.3 管道-过滤器模式及其应用
16.3.1 管道-过滤器模式简介
16.3.2 管道-过滤器模式在Dubbo中的应用
16.3.3 管道-过滤器模式在MyBatis中的应用
16.4 架构模式面试题解析
16.5 本章小结
分布式系统架构与开发:技术原理与面试题解析是2022年由机械工业出版社出版,作者郑天民。
得书感谢您对《分布式系统架构与开发:技术原理与面试题解析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。