| 作者 |
| [美]路易斯·安德烈·巴罗索 (Luiz André Barroso) 乌尔斯·霍尔兹勒(Urs H&ouml lzle) 帕塔萨拉蒂·兰加纳坦(Parthasarathy Ranganathan)朱荣鑫 张天 黄迪璇 |
| 丛书名 |
| 数据科学与工程技术丛书 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9782002122125 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 ---------------------------数据中心一体化最佳实践:设计仓储级计算机(原书第3版)--------------------------- 本书将介绍仓储级计算机(WSC)。这种计算平台是云计算的核心,支撑着我们每天都在使用的各种强大的互联网服务。本书讨论了此类新型系统如何将数据中心本身当作一台超大规模仓储级的计算机来使用,同时又能使软硬件充分协同并提供高性能的互联网服务。书中还详细讲述了WSC的架构设计,其中不仅涵盖影响其设计、运行和成本结构的主要因素,还包括相应的基础软件的各种特性。每一章都介绍了多个真实世界的案例,其中包括详尽的分析在线服务的基础设施信息。本书主要面向当今WSC系统的架构师和程序开发人员,希望能为有志于在此重要领域发展的人才打下一个坚实的基础,同时相关的内容也适用于那些仅想了解互联网基础设施信息的人群。 ---------------------------Spring Cloud微服务架构进阶--------------------------- 本书重点介绍微服务架构的Spring Cloud框架,在实践的基础上进行用法的拓展与相关组件的源码分析,包括:服务发现、负载均衡、断路、声明式HTTP调用客户端、网关、分布式配置中心、安全权限、消息总线等组件。本书适合Java开发人员,特别适合正在进行微服务化改造的开发人员、架构师,在改造过程中进行参考与进阶应用。 |
| 目录 |
---------------------------数据中心一体化最佳实践:设计仓储级计算机(原书第3版)--------------------------- 译者序 致谢 作者简介 译者简介 第1章 绪论 1 1.1 仓储级计算机 2 1.2 规模化下的成本效益 3 1.3 不仅是服务器的简单堆砌 4 1.4 单个数据中心与多个数据中心 4 1.5 为什么WSC对你至关重要 5 1.6 WSC架构概述 6 1.6.1 服务器 6 1.6.2 存储 7 1.6.3 网络结构 8 1.6.4 建筑与基础设施 9 1.6.5 电力使用 11 1.6.6 故障与维修处理 12 1.7 本书概述 12 第2章 工作负载与基础软件 15 2.1 WSC系统栈 15 2.2 平台层软件 16 2.3 集群层基础软件 17 2.3.1 资源管理 17 2.3.2 集群基础软件 18 2.3.3 应用框架 18 2.4 应用层软件 19 2.4.1 工作负载多样性 19 2.4.2 网页搜索 20 2.4.3 视频服务 22 2.4.4 学术文章相似度搜索 23 2.4.5 机器学习 24 2.5 监控基础设施 27 2.5.1 服务层仪表盘 27 2.5.2 性能诊断工具 27 2.5.3 平台层健康监控 28 2.6 WSC软件的权衡 29 2.6.1 数据中心和台式机 29 2.6.2 性能与可用性工具箱 30 2.6.3 购买还是自建 32 2.6.4 长尾容忍 33 2.6.5 工程师应该知道的延迟数据 33 2.7 云计算 35 2.7.1 面向公有云服务的WSC和对内服务的WSC 36 2.7.2 云原生软件 36 2.8 仓储级信息安全 37 第3章 WSC硬件组件 39 3.1 服务器硬件 39 3.1.1 服务器和机架概述 40 3.1.2 大型SMP通信效率的影响 43 3.1.3 高性能服务器和低性能服务器 45 3.2 计算加速器 48 3.2.1 图形处理器 49 3.2.2 张量处理器 50 3.3 网络 52 3.3.1 集群网络 52 3.3.2 主机网络 56 3.4 存储 57 3.4.1 硬盘托盘与无盘服务器 57 3.4.2 WSC非结构化存储 58 3.4.3 WSC结构化存储 59 3.4.4 存储与网络技术相互作用 60 3.5 平衡的设计 61 3.5.1 系统平衡:存储层次结构 62 3.5.2 量化延迟、带宽及容量 62 第4章 数据中心基础:建筑、电力与冷却 65 4.1 数据中心概述 65 4.1.1 等级分类与规格 65 4.1.2 建筑基础知识 66 4.2 数据中心电力系统 68 4.2.1 不间断电源系统 68 4.2.2 配电单元 69 4.2.3 交流与直流配电架构对比 70 4.3 应用实例:冗余径向配电 71 4.4 应用实例:中压电源层 72 4.5 数据中心冷却系统 74 4.5.1 机房空调系统 76 4.5.2 冷水机组 77 4.5.3 冷却塔 77 4.5.4 自然冷却 79 4.5.5 对气流的考量 79 4.5.6 机架内冷却、行级冷却和液体冷却 81 4.5.7 基于集装箱的数据中心 82 4.6 应用实例:谷歌数据中心顶部冷却系统 84 4.7 本章小结 84 第5章 能耗与能效 85 5.1 数据中心能效 85 5.1.1 PUE指标 86 5.1.2 PUE指标的问题 88 5.1.3 数据中心能效损失来源 89 5.1.4 提升数据中心能效 90 5.1.5 基础设施之外的因素 91 5.2 计算能效 92 5.2.1 能效的测量 92 5.2.2 服务器能效 92 5.2.3 WSC使用画像 93 5.3 能耗成比例计算 95 5.3.1 能耗成比例程度低的原因 96 5.3.2 提升能耗成比例的能力 97 5.3.3 系统其他部分的能耗成比例 98 5.3.4 低功耗模式的相对有效性 99 5.3.5 软件在能耗成比例中的作用 100 5.4 通过专用定制提高能效 103 5.5 数据中心供电 105 5.5.1 部署适量的设备 105 5.5.2 数据中心超额用电 105 5.6 服务器能量使用趋势 107 5.7 本章小结 109 第6章 成本建模 111 6.1 资本成本 111 6.2 运营成本 113 6.3 案例分析 114 6.4 实际数据中心成本 116 6.5 建模部分使用的数据中心 117 6.6 公有云成本 118 第7章 故障处理与维修 119 7.1 软件容错 120 7.2 故障分类 121 7.2.1 故障严重性分级 122 7.2.2 导致服务级故障的原因 123 7.3 机器级故障 124 7.3.1 导致机器级故障的原因 127 7.3.2 故障预测 128 7.4 维修 129 7.5 容错不是隐藏错误 130 7.6 集群系统设计的故障统计 131 第8章 结束语 135 8.1 硬件 136 8.2 软件 137 8.3 经济性与能效 138 8.4 打造响应快速的大规模系统 139 8.4.1 不断演进的工作负载 139 8.4.2 残酷的阿姆达尔定律 139 8.4.3 为微秒级系统优化 140 8.4.4 长尾 140 8.5 展望 141 8.5.1 摩尔定律的终结 141 8.5.2 加速器与全局系统设计 141 8.5.3 软件定义基础设施 142 8.5.4 计算机体系结构和WSC的新纪元 143 8.6 总结 144 参考文献 145 ---------------------------Spring Cloud微服务架构进阶--------------------------- 前言 第1章 微服务架构介绍1 1.1 微服务架构的出现1 1.1.1 单体应用架构1 1.1.2 SOA架构2 1.1.3 微服务架构3 1.2 微服务架构的流派5 1.3 云原生与微服务9 1.4 本章小结12 第2章 Spring Cloud总览13 2.1 Spring Cloud架构13 2.2 Spring Cloud特性16 2.2.1 Spring Cloud Context:应用上下文16 2.2.2 Spring Cloud Commons:公共抽象19 2.3 本章小结21 第3章 Spring Cloud的基础:Spring Boot22 3.1 Spring Boot简介22 3.2 构建一个微服务24 3.3 Spring Boot配置文件29 3.3.1 默认配置文件29 3.3.2 外部化配置29 3.3.3 YAML30 3.3.4 自动载入外部属性到Bean30 3.3.5 多Profile31 3.3.6 Starter32 3.3.7 自制一个Starter32 3.3.8 Actuator36 3.4 本章小结38 第4章 服务注册与发现:Eureka39 4.1 基础应用40 4.1.1 Eureka简介40 4.1.2 搭建Eureka服务注册中心40 4.1.3 搭建Eureka服务提供者42 4.1.4 搭建Eureka服务调用者43 4.1.5 Eureka服务注册和发现44 4.1.6 Consul的简单应用46 4.2 服务发现原理48 4.3 Eureka Client源码解析49 4.3.1 读取应用自身配置信息50 4.3.2 服务发现客户端52 4.3.3 拉取注册表信息56 4.3.4 服务注册61 4.3.5 初始化定时任务62 4.3.6 服务下线68 4.4 Eureka Server源码解析70 4.4.1 服务实例注册表70 4.4.2 服务注册72 4.4.3 接受服务心跳74 4.4.4 服务剔除75 4.4.5 服务下线77 4.4.6 集群同步78 4.4.7 获取注册表中服务实例信息82 4.5 进阶应用84 4.5.1 Eureka Instance和Client的元数据84 4.5.2 状态页和健康检查页端口设置85 4.5.3 区域与可用区85 4.5.4 高可用性服务注册中心86 4.6 本章小结87 第5章 声明式RESTful客户端:Spring Cloud OpenFeign88 5.1 基础应用88 5.1.1 微服务之间的交互88 5.1.2 OpenFeign简介89 5.1.3 代码示例89 5.2 源码分析91 5.2.1 核心组件与概念91 5.2.2 动态注册BeanDefinition92 5.2.3 实例初始化98 5.2.4 函数调用和网络请求107 5.3 进阶应用111 5.3.1 Decoder与Encoder的定制化111 5.3.2 请求/响应压缩112 5.4 本章小结113 第6章 断路器:Hystrix114 6.1 基础应用114 6.1.1 RestTemplate与Hystrix115 6.1.2 OpenFeign与Hystrix117 6.2 Hystrix原理118 6.2.1 服务雪崩118 6.2.2 断路器119 6.2.3 服务降级操作120 6.2.4 资源隔离121 6.2.5 Hystrix实现思路122 6.3 源码解析123 6.3.1 封装HystrixCommand123 6.3.2 HystrixCommand类结构129 6.3.3 异步回调执行命令129 6.3.4 异步执行命令和同步执行命令137 6.3.5 断路器逻辑137 6.3.6 资源隔离143 6.3.7 请求超时监控148 6.3.8 失败回滚逻辑150 6.4 进阶应用152 6.4.1 异步与异步回调执行命令152 6.4.2 继承HystrixCommand153 6.4.3 请求合并157 6.5 本章小结161 第7章 客户端负载均衡器:Spring Cloud Netflix Ribbon162 7.1 负载均衡162 7.2 基础应用163 7.3 源码分析165 7.3.1 配置和实例初始化165 7.3.2 与OpenFeign的集成167 7.3.3 负载均衡器LoadBalancerClient171 7.3.4 ILoadBalancer173 7.3.5 负载均衡策略实现177 7.4 进阶应用184 7.4.1 Ribbon API184 7.4.2 使用Netty发送网络请求185 7.4.3 只读数据库的负载均衡实现186 7.5 本章小结187 第8章 API网关:Spring Cloud Gateway189 8.1 Spring Cloud Gateway介绍189 8.2 基础应用190 8.2.1 用户服务191 8.2.2 网关服务192 8.2.3 客户端的访问195 8.3 源码解析195 8.3.1 初始化配置196 8.3.2 网关处理器197 8.3.3 路由定义定位器202 8.3.4 路由定位器205 8.3.5 路由断言208 8.3.6 网关过滤器216 8.3.7 全局过滤器227 8.3.8 API端点234 8.4 应用进阶235 8.4.1 限流机制235 8.4.2 熔断降级238 8.4.3 网关重试过滤器240 8.5 本章小结241 第9章 配置中心:Spring Cloud Config243 9.1 基础应用244 9.1.1 配置客户端244 9.1.2 配置仓库245 9.1.3 服务端246 9.1.4 配置验证248 9.1.5 配置动态更新249 9.2 源码解析250 9.2.1 配置服务器251 9.2.2 配置客户端261 9.3 应用进阶267 9.3.1 为Config Server配置多个repo268 9.3.2 客户端覆写远端的配置属性268 9.3.3 属性覆盖269 9.3.4 安全保护269 9.3.5 加密解密270 9.3.6 快速响应失败与重试机制272 9.4 本章小结272 第10章 消息驱动:Spring Cloud Stream274 10.1 消息队列274 10.2 基础应用276 10.2.1 声明和绑定通道276 10.2.2 自定义通道276 10.2.3 接收消息276 10.2.4 配置278 10.3 源码分析278 10.3.1 动态注册BeanDefinition279 10.3.2 绑定服务282 10.3.3 获取绑定器284 10.3.4 绑定生产者289 10.3.5 消息发送的流程291 10.3.6 StreamListener注解的处理293 10.3.7 绑定消费者298 10.3.8 消息的接收304 10.4 进阶应用306 10.4.1 Binder For RocketMQ306 10.4.2 多实例311 10.4.3 分区311 10.5 本章小结313 第11章 消息总线:Spring Cloud Bus314 11.1 基础应用314 11.1.1 配置服务器315 11.1.2 配置客户端316 11.1.3 结果验证316 11.2 源码解析318 11.2.1 事件的定义与事件监听器319 11.2.2 消息的订阅与发布326 11.2.3 控制端点328 11.3 应用进阶329 11.3.1 在自定义的包中注册事件329 11.3.2 自定义监听器330 11.3.3 事件的发起者331 11.4 本章小结332 第12章 认证与授权:Spring Cloud Security333 12.1 基础应用333 12.1.1 OAuth2简介334 12.1.2 JWT336 12.1.3 搭建授权服务器338 12.1.4 配置资源服务器341 12.1.5 访问受限资源344 12.2 整体架构346 12.3 源码解析348 12.3.1 安全上下文349 12.3.2 认证350 12.3.3 授权357 12.3.4 Spring Security中的过滤器与拦截器361 12.3.5 授权服务器372 12.3.6 资源服务器387 12.3.7 令牌中继机制394 12.4 进阶应用395 12.4.1 Spring Security定制395 12.4.2 OAuth2定制399 12.4.3 SSO单点登录403 12.5 本章小结406 第13章 服务链路追踪:Spring Cloud Sleuth407 13.1 链路监控组件简介407 13.2 基础应用410 13.2.1 特性411 13.2.2 项目准备411 13.2.3 Spring Cloud Sleuth独立实现414 13.2.4 集成Zipkin414 13.3 本章小结420 |