logo
分类于: 计算机基础 设计

简介

发布!软件的设计与部署

发布!软件的设计与部署 7.8分

资源最后更新于 2020-03-29 03:16:07

作者:〔美〕 Michael T.Nygard

译者:凃鸣

出版社:出版社人民邮电出版社

出版日期:2015-01

ISBN:9787115380456

文件格式: pdf

标签: 计算机 设计 软件

简介· · · · · ·

本书分为四个部分,每部分内容都由一个研究案例引出。第一部分介绍了如何保证系统的生存,即维护系统正常运行。第二部分介绍了如何衡量系统的容量,以及如何随时间来优化系统的容量。在第三部分讲述了架构师在为数据中心构建软件时应该思考的一般设计问题。第四部分讨论了系统的运行寿命,将其作为整个信息生态环境的一部分。书中代码采用的Java语言,熟悉编程的人都能轻易阅读。作者从Java和Unix的视角看问题,因而本书的焦点比较中立,着眼于跨所有平台的技术和概念。在每种模式和反模式的末尾,都有一段简短精要的总结。本书适合面向企业级软件的架构师、设计师和开发人员阅读参考。Michael T.Nygard,从业二十余年的资深程序员、架构师,被誉为在线业务的“流动解决问题专家”。先后为美国政府、军队、银行、金融、农业和零售等多个行业交付过运营系统,这种实际运营的经历改变了他对软件架构和开发的看法,也让他对在相当不友好的环境下构建高性能、高可靠性的软件有了独特的见解。他写过多篇文章和社论,是软件架构经典著作《架构之美》作者之一。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 前言
  2. 谁来读这本书
  3. 本书结构
  4. 关于案例
  5. 致谢
  6. 第 1 章 引言
  7. 1.1 瞄准正确的目标
  8. 1.2 使用决断力
  9. 1.3 生活的质量
  10. 1.4 挑战的范围
  11. 1.5 随手一松就是一百万
  12. 1.6 务实的架构
  13. 第一部分 稳定性概述
  14. 第 2 章 案例研究:航空系统宕机的异常
  15. 2.1 事故
  16. 2.2 结果
  17. 2.3 事后调查
  18. 2.4 确凿的证据
  19. 2.5 一点预防
  20. 第 3 章 稳定性概述
  21. 3.1 定义稳定性
  22. 3.2 故障模式
  23. 3.3 裂痕扩散
  24. 3.4 故障链
  25. 3.5 模式与反模式
  26. 第 4 章 稳定性反模式
  27. 4.1 集成点
  28. 基于套接字的协议
  29. 凌晨5点的问题
  30. HTTP协议
  31. 厂商API库
  32. 防范集成点问题
  33. 4.2 连锁反应
  34. 4.3 连锁故障
  35. 4.4 用户
  36. 流量
  37. 昂贵的服务
  38. 不受欢迎的用户
  39. 恶意用户
  40. 4.5 阻塞的线程
  41. 封锁现场
  42. 第三方库
  43. 4.6 自我否定攻击
  44. 4.7 尺度效应
  45. 点对点通信
  46. 共享资源
  47. 4.8 不平衡的容量
  48. 通过测试驱除
  49. 4.9 慢响应
  50. 4.10 SLA倒置
  51. 4.11 无边界结果集
  52. 黑色星期一
  53. 第 5 章 稳定性模式
  54. 5.1 使用超时
  55. 5.2 断路器
  56. 5.3 隔板
  57. 5.4 稳定状态
  58. 数据清除
  59. 日志文件
  60. 内存中的缓存
  61. 5.5 快速失效
  62. 5.6 握手
  63. 5.7 测试装置
  64. 5.8 去耦合中间件
  65. 第 6 章 稳定性总结
  66. 第二部分 容量
  67. 第 7 章 案例研究:被客户压迫
  68. 7.1 发布倒计时
  69. 7.2 瞄准QA
  70. 7.3 负载测试
  71. 7.4 被大量会话所杀
  72. 7.5 测试的鸿沟
  73. 7.6 后果
  74. 第 8 章 容量概述
  75. 8.1 定义容量
  76. 8.2 约束
  77. 8.3 关联
  78. 8.4 可扩展性
  79. 8.5 容量的神话
  80. CPU很便宜
  81. 存储很便宜
  82. 带宽很便宜
  83. 8.6 总结
  84. 第 9 章 容量反模式
  85. 9.1 资源池竞争
  86. 9.2 泛滥的JSP碎片
  87. 9.3 AJAX过度之伤
  88. 交互设计
  89. 请求定时
  90. 会话抖动
  91. 响应格式化
  92. 9.4 驻留过久的会话
  93. 9.5 HTML中浪费的空间
  94. 空白
  95. 昂贵的空白图片
  96. 多余的HTML表格
  97. 9.6 刷新按钮
  98. 9.7 手工的SQL语句
  99. 9.8 数据库富营养化
  100. 索引
  101. 切分
  102. 历史数据
  103. 9.9 集成点延迟
  104. 9.10 cookie怪兽
  105. 9.11 总结
  106. 第 10 章 容量模式
  107. 10.1 连接池
  108. 10.2 谨慎使用缓存
  109. 10.3 预计算容量
  110. 10.4 调整垃圾回收器
  111. 10.5 总结
  112. 第三部分 一般设计问题
  113. 第 11 章 网络连接
  114. 11.1 多宿主服务器
  115. 11.2 路由
  116. 11.3 虚拟IP地址
  117. 第 12 章 安全
  118. 12.1 最少特权原则
  119. 12.2 配置的密码
  120. 第 13 章 可用性
  121. 13.1 收集可用性需求
  122. 13.2 记录可用性需求
  123. 13.3 负载均衡
  124. 轮叫DNS
  125. 反向代理
  126. 硬件负载均衡
  127. 13.4 集群
  128. 第 14 章 管理
  129. 14.1 “测试和产品匹配吗?”
  130. 使它们分离
  131. 零、一、多
  132. 要买必要的设施
  133. 14.2 配置文件
  134. 14.3 启动和关闭
  135. 14.4 管理接口
  136. 第 15 章 设计总结
  137. 第四部分 运营
  138. 第 16 章 案例研究:惊人的宇宙
  139. 16.1 旺季
  140. 16.2 婴儿的第一个圣诞
  141. 16.3 切脉
  142. 16.4 感恩节
  143. 16.5 黑色星期五
  144. 16.6 重要的信号
  145. 16.7 诊断测试
  146. 16.8 专家打来电话
  147. 16.9 比较解救方案
  148. 16.10 条件是否会响应处理
  149. 16.11 收尾
  150. 第 17 章 透明度
  151. 17.1 视角
  152. 历史趋势
  153. 预测未来
  154. 当前状态
  155. 声名狼藉的仪表盘
  156. 即时行为
  157. 17.2 透明度设计
  158. 17.3 使用各种技术
  159. 17.4 日志
  160. 配置
  161. 日志级别
  162. 消息目录
  163. 人为因素
  164. 最后的提示
  165. 17.5 监控系统
  166. 商业监控系统
  167. 商业系统的不足
  168. 监控系统设计
  169. 17.6 法律上及事实上的标准
  170. 简单网络管理协议
  171. CIM
  172. JMX
  173. 公开什么
  174. JMX和SNMP
  175. 17.7 操作数据库
  176. OpsDB高层结构
  177. 喂养数据库
  178. 使用操作数据库
  179. 17.8 支持流程
  180. 观察的关键
  181. 17.9 总结
  182. 第 18 章 适应
  183. 18.1 与时俱进
  184. 18.2 适应性的软件设计
  185. 依赖注入
  186. 对象设计
  187. 极限编程实践
  188. 敏捷数据库
  189. 18.3 适应性的企业架构
  190. 系统中的依赖
  191. 系统间的依赖:协议
  192. 系统间的依赖:数据库
  193. 18.4 发布应无害
  194. 部署成本太高
  195. 定时发布
  196. 零停机时间部署
  197. 扩展
  198. 推广
  199. 清理
  200. 18.5 总结
  201. 参考书目