万本电子书0元读

万本电子书0元读

顶部广告

发布!设计与部署稳定的分布式系统(第2版)电子书

本书第1版曾获第18届Jolt生产效率奖,Jolt大奖被誉为“软件行业的奥斯卡奖”。新版凝结了第1版的精华,同时与时俱,讲述了软件系统如何能够通过生产环境的残酷考验。 迈克尔是软件行业杰出的思想家和传播者。这本书文笔优美,有助于构建和运维大规模软件系统。 ——Randy Shoup,Stitch Fix公司工程副总裁 这本书通过易读的文字和紧凑的形式展现了作者在该领域所获得的丰富经验,对任意系统的发布都具有特别重大的指导意义。 ——Michael Hunger,Neo4j公司发者关系工程总监 对那些在发布软件后仍然希望睡个好觉的人来说,这本书有助于建立自信,并学会预估和受系统故障。 ——Matthew White,Deliver Audacious Web Apps with Ember 2作者 如果你正在编写用于互联网的软件,那么在将其投生产环境之前,一定要阅读这本书。如果你是工程师或发经理,这本书可以帮助你了解如何投精力和分配资源。 ——亚马逊读者

售       价:¥

纸质售价:¥89.00购买纸书

71人正在读 | 2人评论 7

作       者:(美) 迈克尔·尼加德(Michael T. Nygard)

出  版  社:人民邮电出版社有限公司

出版时间:2020-01-01

字       数:24.9万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(1条)
  • 读书简介
  • 目录
  • 累计评论(1条)
作者根据自己的亲身经历和某些大型企业的案例,讲述了如何创建高稳定性的软件系统,分析了设计和实现中导致系统出现问题的原因。全书分为四个部分,每部分内容都由一个研究案例引出。*部分介绍了如何保证系统的生存,即维护系统正常运行。第二部分介绍了为生产环境而设计,从基础层、实例层、互连层和控制层等方面构建系统安全性。第三部分讲述了交付系统,列出系统在部署过程中有可能出现的问题。第四部分引适用性和混沌工程的概念,讨论了如何解决系统性问题。 作者根据自己的亲身经历和某些大型企业的案例,讲述了如何创建高稳定性的软件系统,分析了设计和实现中导致系统出现问题的原因。全书分为四个部分,每部分内容都由一个研究案例引出。*部分介绍了如何保证系统的生存,即维护系统正常运行。第二部分介绍了为生产环境而设计,从基础层、实例层、互连层和控制层等方面构建系统安全性。第三部分讲述了交付系统,列出系统在部署过程中有可能出现的问题。第四部分引适用性和混沌工程的概念,讨论了如何解决系统性问题。
【推荐语】
本书第1版曾获第18届Jolt生产效率奖,Jolt大奖被誉为“软件行业的奥斯卡奖”。新版凝结了第1版的精华,同时与时俱,讲述了软件系统如何能够通过生产环境的残酷考验。 迈克尔是软件行业杰出的思想家和传播者。这本书文笔优美,有助于构建和运维大规模软件系统。 ——Randy Shoup,Stitch Fix公司工程副总裁 这本书通过易读的文字和紧凑的形式展现了作者在该领域所获得的丰富经验,对任意系统的发布都具有特别重大的指导意义。 ——Michael Hunger,Neo4j公司发者关系工程总监 对那些在发布软件后仍然希望睡个好觉的人来说,这本书有助于建立自信,并学会预估和受系统故障。 ——Matthew White,Deliver Audacious Web Apps with Ember 2作者 如果你正在编写用于互联网的软件,那么在将其投生产环境之前,一定要阅读这本书。如果你是工程师或发经理,这本书可以帮助你了解如何投精力和分配资源。 ——亚马逊读者
【作者】
作者介绍 迈克尔·尼加德,程序员兼架构师,拥有20余年的从业经验,先后为美国政府以及银行、金融、农业、零售等多个行业交付过运营系统,对如何在不利的环境下构建高性能、高可靠性的软件有独到的见解。 译者介绍 吾真本,本名伍斌,ThoughtWorks首席咨询师,著有测试驱动发门读物《驯服烂代码》。工作20余年,做过程序员、测试工程师、项目经理、敏捷教练。最近7年成功辅导10余家大型金融和科技公司的敏捷和DevOps转型团队。曾主办多场编程道场,人称“道长”。
目录展开

版权声明

第2版赞誉

译者序

致谢

前言

第 1 章 生产环境的生存法则

1.1 瞄准正确的目标

1.2 应对不断扩大的挑战范围

1.3 多花5万美元来节省100万美元

1.4 让“原力”与决策同在

1.5 设计务实的架构

1.6 小结

第一部分 创造稳定性

第 2 章 案例研究:让航空公司停飞的代码异常

2.1 进行变更

2.2 遭遇停机

2.3 严重后果

2.4 事后分析

2.5 寻找线索

2.6 证据确凿

2.7 预防管用吗

第 3 章 让系统稳定运行

3.1 定义稳定性

3.2 延长系统寿命

3.3 系统失效方式

3.4 阻止裂纹蔓延

3.5 系统失效链

3.6 小结

第 4 章 稳定性的反模式

4.1 集成点

4.2 同层连累反应

4.3 层叠失效

4.4 用户

4.5 线程阻塞

4.6 自黑式攻击

4.7 放大效应

4.8 失衡的系统容量

4.9 一窝蜂

4.10 做出误判的机器

4.11 缓慢的响应

4.12 无限长的结果集

4.13 小结

第 5 章 稳定性的模式

5.1 超时

5.2 断路器

5.3 舱壁

5.4 稳态

5.5 快速失败

5.6 任其崩溃并替换

5.7 握手

5.8 考验机

5.9 中间件解耦

5.10 卸下负载

5.11 背压机制

5.12 调速器

5.13 小结

第二部分 为生产环境而设计

第 6 章 案例研究:屋漏偏逢连夜雨

6.1 宝宝的第一个感恩节

6.2 把脉

6.3 感恩节

6.4 黑色星期五

6.5 生命体征

6.6 进行诊断

6.7 求助专家

6.8 如何应对

6.9 应对奏效吗

6.10 尾声

第 7 章 基础层

7.1 数据中心和云端的联网

7.2 物理主机、虚拟机和容器

7.3 小结

第 8 章 实例层

8.1 代码

8.2 配置

8.3 明晰性

8.4 小结

第 9 章 互连层

9.1 不同规模的解决方案

9.2 使用DNS

9.3 负载均衡

9.4 控制请求数量

9.5 网络路由

9.6 发现服务

9.7 迁移虚拟IP地址

9.8 小结

第 10 章 控制层

10.1 适合的控制层工具

10.2 机械效益

10.3 平台和生态系统

10.4 开发环境就是生产环境

10.5 整个系统的明晰性

10.6 配置服务

10.7 环境整备和部署服务

10.8 命令与控制

10.9 平台厂商

10.10 工具清单

10.11 小结

第 11 章 安全性

11.1 OWASP十大安全漏洞

11.2 最小特权原则

11.3 密码的配置

11.4 安全即持续的过程

11.5 小结

第三部分 将系统交付

第 12 章 案例研究:等待戈多

第 13 章 为部署而设计

13.1 机器与服务

13.2 计划停机时间的谬误

13.3 自动化部署

13.4 持续部署

13.5 部署中的各个阶段

13.6 像行家一样部署

13.7 小结

第 14 章 处理版本问题

14.1 帮助他人处理版本问题

14.2 处理其他系统的版本问题

14.3 小结

第四部分 解决系统性问题

第 15 章 案例研究:不能承受的巨大顾客流量

15.1 倒计时后推出新系统

15.2 以QA测试为目标

15.3 负载测试

15.4 被众多因素所害

15.5 测试仍然有差距

15.6 善后

第 16 章 适应性

16.1 努力与回报的关系

16.2 过程和组织

16.3 系统架构

16.4 信息架构

16.5 小结

第 17 章 混沌工程

17.1 不可能构建第二个Facebook去做测试

17.2 混沌工程的先驱

17.3 猴子军团

17.4 使用自己的混沌猴

17.5 从人的方面模拟灾难

17.6 小结

看完了

累计评论(1条) 1个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部