由于此商品库存有限,请在下单后15分钟之内支付完成,手慢无哦!
100%刮中券,最高50元无敌券,券有效期7天
活动自2017年6月2日上线,敬请关注云钻刮券活动规则更新。
如活动受政府机关指令需要停止举办的,或活动遭受严重网络攻击需暂停举办的,或者系统故障导致的其它意外问题,苏宁无需为此承担赔偿或者进行补偿。
正版 分布式系统架构与开发 技术原理与面试题解析 郑天民 设计思想 网络通信 远程调用 负载均衡 服务容错 应用缓存
¥ ×1
| |
商品名称: | 分布式系统架构与开发:技术原理与面试题解析 |
作 者: | 郑天民
|
市 场 价: | 99.00
|
ISBN 号: | 9787111712688
|
出版日期: |
|
页 数: | 362
|
开 本: |
|
出 版 社: | 机械工业出版社 |
前言 第1章 认识分布式系统1 1.1 分布式系统概述1 1.1.1 从单块系统到分布式系统1 1.1.2 分布式系统的基本特性3 1.1.3 分布式系统和微服务架构4 1.2 分布式系统的核心设计要求6 1.2.1 性能6 1.2.2 可用性6 1.2.3 可扩展性6 1.2.4 服务治理7 1.3 分布式系统开发技术组件7 1.3.1 远程过程调用组件8 1.3.2 微服务构建组件10 1.3.3 通用技术组件13 1.4 分布式系统的主流开发套件15 1.4.1 Spring Boot15 1.4.2 Spring Cloud18 1.4.3 Dubbo18 1.4.4 MyBatis19 1.5 分布式系统面试题解析19 1.6 本章小结20 第2章 剖析框架代码结构的系统方法22 2.1 基于组件设计原则剖析代码结构23 2.1.1 为什么代码结构要这么设计23 2.1.2 组件设计原则与量化标准24 2.1.3 组件设计原则与代码结构: Dubbo与MyBatis28 2.1.4 循环依赖及其消除方法31 2.2 基于架构演进过程剖析代码结构39 2.2.1 如何从易到难对框架进行 逐步拆解39 2.2.2 Dubbo的架构演进过程40 2.3 基于主流程剖析代码结构46 2.3.1 如何抓住主流程并对框架 进行分层剖析46 2.3.2 MyBatis中的主流程46 2.4 基于基础架构组成剖析代码结构54 2.4.1 如何从基础架构扩展到 具体实现框架54 2.4.2 RPC基础架构54 2.4.3 从RPC基础架构扩展到 Dubbo框架61 2.5 基于可扩展性设计剖析代码结构65 2.5.1 如何在框架中预留可扩展点65 2.5.2 常见的可扩展性设计方法66 2.5.3 MyBatis TypeHandler机制68 2.6 剖析框架代码结构面试题解析72 2.7 本章小结73 第3章 网络通信74 3.1 网络通信与Dubbo框架74 3.1.1 网络通信基本概念74 3.1.2 Dubbo中的网络通信组件77 3.2 Dubbo服务器端通信原理77 3.2.1 服务器端Exchange77 3.2.2 服务器端Transport82 3.2.3 服务器端Serialize84 3.3 Dubbo客户端通信原理87 3.4 网络通信面试题解析89 3.5 本章小结90 第4章 远程调用91 4.1 服务发布和引用92 4.1.1 如何发布远程服务92 4.1.2 如何引用远程服务93 4.2 Dubbo中的远程调用94 4.2.1 Dubbo服务发布流程94 4.2.2 Dubbo服务引用流程101 4.3 远程调用面试题解析109 4.4 本章小结110 第5章 负载均衡112 5.1 负载均衡基本原理112 5.1.1 负载均衡的类型113 5.1.2 负载均衡算法和策略114 5.2 Dubbo中的负载均衡116 5.2.1 Dubbo负载均衡整体结构116 5.2.2 Dubbo负载均衡策略118 5.3 Spring Cloud中的负载均衡120 5.3.1 Netflix Ribbon核心机制120 5.3.2 Netflix Ribbon负载均衡策略122 5.3.3 Spring Cloud Netflix Ribbon 实现原理124 5.4 负载均衡面试题解析127 5.5 本章小结128 第6章 服务容错129 6.1 服务容错设计思想129 6.1.1 服务消费者容错129 6.1.2 服务容错策略130 6.2 Dubbo中的集群容错132 6.2.1 Dubbo中的集群133 6.2.2 Dubbo中的容错机制134 6.3 Spring Cloud中的服务熔断136 6.3.1 Spring Cloud Circuit Breaker137 6.3.2 Hystrix熔断机制139 6.4 服务容错面试题解析147 6.5 本章小结148 第7章 服务降级149 7.1 服务降级策略149 7.1.1 服务分级149 7.1.2 服务回退150 7.2 Dubbo中的服务降级151 7.2.1 Dubbo中的Mock机制151 7.2.2 MockInvoker和Mock- ClusterInvoker152 7.3 Spring Cloud中的服务降级154 7.3.1 Spring Cloud中的回退机制154 7.3.2 基于拦截器实现回退156 7.4 服务降级面试题解析158 7.5 本章小结159 第8章 注册中心160 8.1 服务注册和发现160 8.1.1 注册中心模型160 8.1.2 注册中心实现工具163 8.2 Dubbo中的注册中心163 8.2.1 Dubbo注册中心模型163 8.2.2 ZooKeeper基本原理与 操作方式164 8.2.3 ZooKeeper注册中心实现过程166 8.3 Spring Cloud中的注册中心172 8.3.1 Eureka注册中心模型172 8.3.2 Eureka服务器端基本原理173 8.3.3 Eureka客户端基本原理178 8.4 注册中心面试题解析184 8.5 本章小结185 第9章 服务网关186 9.1 服务网关的核心概念187 9.1.1 服务网关的作用187 9.1.2 服务网关的结构和功能188 9.2 Spring Cloud Gateway工作原理188 9.2.1 响应式编程概述189 9.2.2 Spring Cloud Gateway架构192 9.2.3 路由和过滤器194 9.3 服务网关面试题解析204 9.4 本章小结205 第10章 配置中心206 10.1 配置中心基本模型207 10.1.1 配置中心与微服务架构207 10.1.2 配置中心实现工具208 10.2 Spring Cloud Config工作机制209 10.2.1 Spring Cloud Config Server 工作机制209 10.2.2 Spring Cloud Config Client 工作机制213 10.3 Spring Cloud Config配置信息更新218 10.3.1 Spring Cloud Config客户端 更新策略218 10.3.2 配置信息热更新机制219 10.4 配置中心面试题解析223 10.5 本章小结225 第11章 消息通信226 11.1 事件驱动和消息通信226 11.1.1 事件驱动架构的需求226 11.1.2 消息通信机制和消息中间件228 11.1.3 基于消息通信机制的系统 集成方法229 11.2 从Spring Messaging到 Spring Cloud Stream230 11.2.1 Spring Messaging和 Spring Integration 231 11.2.2 Spring Cloud Stream中的 Spring Integration233 11.2.3 Spring Cloud Stream基本架构234 11.3 Spring Cloud Stream整合 消息中间件235 11.3.1 Spring Cloud Stream 发送和接收消息235 11.3.2 RabbitMQ发送和接收消息242 11.4 消息通信面试题解析245 11.5 本章小结246 第12章 动态代理247 12.1 代理模式和类型247 12.1.1 静态代理机制248 12.1.2 动态代理机制249 12.2 Dubbo远程访问中的代理机制252 12.2.1 ProxyFactory252 12.2.2 JdkProxyFactory253 12.3 MyBatis数据访问中的代理机制254 12.3.1 Mapper和动态代理254 12.3.2 延迟加载和动态代理258 12.4 动态代理面试题解析260 12.5 本章小结261 第13章 应用缓存263 13.1 应用缓存的设计策略263 13.1.1 经典缓存分层架构263 13.1.2 应用缓存的分级模式264 13.2 MyBatis一级缓存264 13.2.1 Cache264 13.2.2 PerpetualCache265 13.2.3 一级缓存与BaseExecutor268 13.3 MyBatis二级缓存271 13.3.1 CacheBuilder271 13.3.2 二级缓存与CachingExecutor274 13.4 应用缓存面试题解析277 13.5 本章小结278 第14章 资源管理279 14.1 资源管理和资源池279 14.1.1 资源池模型279 14.1.2 资源池实现示例280 14.2 MyBatis中的数据库连接池282 14.2.1 连接池的工作流程和 核心要素283 14.2.2 Connection对象获取过程284 14.2.3 PooledDataSource285 14.2.4 UnpooledDataSource289 14.3 资源管理面试题解析290 14.4 本章小结291 第15章 框架集成292 15.1 Spring中的启动扩展点292 15.1.1 InitializingBean和 DisposableBean292 15.1.2 BeanPostProcessor295 15.1.3 Aware296 15.1.4 ApplicationListener299 15.2 Spring自定义标签体系305 15.2.1 标签扩展时机305 15.2.2 标签扩展的开发流程305 15.3 Spring Boot自动配置310 15.4 Dubbo的框架集成312 15.4.1 Dubbo启动机制313 15.4.2 Dubbo自定义配置标签319 15.5 MyBatis的框架集成320 15.5.1 MyBatis-Spring启动过程320 15.5.2 MyBatis-Spring-Boot-Starter326 15.6 框架集成面试题解析329 15.7 本章小结331 第16章 架构模式332 16.1 架构模式与应用332 16.1.1 模式的概念和分类332 16.1.2 基于架构模式把握框架 设计思想333 16.2 微内核模式及其应用334 16.2.1 微内核模式和插件化系统334 16.2.2 微内核模式的基本实现: SPI机制336 16.2.3 微内核模式在Dubbo 中的应用339 16.2.4 Dubbo中的扩展点344 16.3 管道-过滤器模式及其应用346 16.3.1 管道-过滤器模式简介346 16.3.2 管道-过滤器模式在 Dubbo中的应用351 16.3.3 管道-过滤器模式在MyBatis 中的应用354 16.4 架构模式面试题解析360 16.5 本章小结362 |
本书能帮助读者深入理解和掌握分布式系统架构与开发,以及快速了解各互联网大厂在分布式系统方面的高频面试题及其解法。<br /><br />作者有超过15年的架构与研发经验,在分布式系统方面,积累了大量的项目经验和面试经验。分布式系统涉及的技术多且复杂,作者根据自己的经验,化繁为简,将从事分布式系统架构与开发的技术与能力,全部总结在了本书中,包含但不限于以下内容:<br /><br />(1)抛开具体的框架,详细讲解分布式系统的全栈技术组件的实现原理、应用方式、设计思想,具体包括网络通信、远程调用、负载均衡、服务容错、服务降级、注册中心、服务网关、配置中心、消息通信、动态代理、应用缓存、资源管理、框架集成和架构模式。这些组件在各种分布式系统框架中是通用的,掌握本书内容后,读者在面对各种具体的框架时可以触类旁通。<br /><br />(2)深入剖析Dubbo、Spring Cloud、MyBatis等主流开源框架的源代码结构,分析它们的底层实现原理,提炼分布式系统开发精髓。<br /><br />(3)独创一套剖析框架源代码结构的系统方法,分别基于组件设计原则、架构演进过程、核心执行流程、基础架构组成和可扩展性设计这5大主题展开讲解,指导读者高效学习其他开源框架。<br /><br />(4)作者结合多年的面试和培训经验,针对每个技术组件梳理了一组面试题。这些面试题大多是阿里巴巴、京东、网易等大厂的真题,作者结合自己的理解对考点进行了解析,并将框架源码与面试题融合贯通。同时对于技术人员如何实现自我成长和高效应对技术面试,给出了系统性的方法论。 |
亲,大宗购物请点击企业用户渠道>小苏的服务会更贴心!
亲,很抱歉,您购买的宝贝销售异常火爆让小苏措手不及,请稍后再试~
非常抱歉,您前期未参加预订活动,
无法支付尾款哦!
抱歉,您暂无任性付资格