分布式系统架构与开发:技术原理与面试题解析

分布式系统架构与开发:技术原理与面试题解析

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

本书详解分布式系统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年由机械工业出版社出版,作者郑天民。

得书感谢您对《分布式系统架构与开发:技术原理与面试题解析》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
云操作系统架构与关键技术 电子书
倪光南院士、邬贺铨院士作序推荐,周孝信院士在成书过程中提供了指导意见。 《云操作系统设计与应用教程》是业内首部“立足垂直行业实践,面向专业技术领域”的云计算书籍。它的出版将使关注云计算发展的读者全面深入解读云操作系统的架构及关键技术,将使广大企业云平台从业人员能够进一步了解云操作系统在发挥资源共享、提高生产效率方面的重要作用,从而促进企业在云操作系统方面的人才培养和储备,并推动企业在云操作系统的研发进展和部署能力等方面的提升。
5G系统技术原理与实现 电子书
本书通过5G系统运维和5G系统故障处理等维度,对5G系统技术原理与实现进行了细致解读。
Spring Cloud 微服务分布式架构开发实战 电子书
1、选取知识点核心实用,以互联网+实现终身学习2、以企业需求为设计导向,以任务驱动为讲解方式3、以案例为主线组织知识点,以实战项目来提升技术4、充分考虑学习者的认知曲线,由浅入深,边讲边练
企业WLAN架构与技术 电子书
从行业趋势、原理和实战案例等多角度介绍了与数据通信相关的网络架构和技术。
园区网络架构与技术 电子书
《园区网络架构与技术》以园区网络所面临的业务挑战为切入点,详细介绍了智简园区网络的架构与技术,旨在向读者全面呈现新一代园区网络的解决方案、技术实现和规划设计等内容。本书基于华为公司在网络领域多年的技术积累和实践,系统介绍了虚拟化、大数据、AI、SDN等技术方案在园区网络中的应用,为快速、高效地重构园区网络提供参考。同时,本书结合华为公司丰富的工程实施经验,提供了详细的园区网络设计方法及部署建议,为