构建可扩展分布式系统:方法与实践
Ian Gorton
成海霞, 陈湖山 译
出版时间:2024年05月
页数:269
“构建可扩展的分布式系统很难,而这本书庖丁解牛,让事情变得容易多了。”
——Mark Richards, DeveloperToArchitect.com网站创始人、软件架构师

在许多系统中,随着用户群的增长,可扩展性成为发展的主要驱动力。有吸引力和高度实用的功能带来了成功,同时也带来了更多需要处理的请求和更多需要管理的数据。但是,当在轻负载下有意义的设计决策突然变成技术债务时,企业就会达到一个临界点。本书涵盖了可以快速、经济、高效地扩展应用程序的设计方法和技术。
作者Ian Gorton带领软件架构师和开发人员学习分布式系统设计的基本原则。你将探索可扩展解决方案的基本要素,包括复制、状态管理、负载均衡和缓存。本书还会重点介绍可扩展性对数据库、微服务和基于事件的流系统的影响。
通过学习本书,你将能够:
● 学习可扩展系统的基础知识:可扩展性的基本设计原则、成本、并发性和架构权衡。
● 设计可扩展的服务:深入探讨服务设计、缓存、异步消息传递、无服务器处理和微服务。
● 设计可扩展的数据系统:学习数据系统基础知识、NoSQL 数据库以及最终一致性与强一致性。
● 设计可扩展的流系统:探索流处理系统和可扩展的事件驱动处理机制。
  1. 前言
  2. 第一部分 基础知识
  3. 第1章 可扩展系统简介
  4. 1.1 可扩展性的定义
  5. 1.2 21世纪早期系统规模案例
  6. 1.3 软件系统发展简史
  7. 1.4 可扩展性系统设计基本原则
  8. 1.5 可扩展性与成本
  9. 1.6 可扩展性与架构的权衡
  10. 1.7 总结和延伸阅读
  11. 第2章 分布式系统架构简介
  12. 2.1 系统架构基础
  13. 2.2 水平扩展
  14. 2.3 使用缓存扩展数据库
  15. 2.4 分布式数据库
  16. 2.5 多处理层
  17. 2.6 提高系统响应能力
  18. 2.7 系统和硬件的可扩展性
  19. 2.8 总结和延伸阅读
  20. 第3章 分布式系统要点
  21. 3.1 通信基础
  22. 3.2 远程方法调用
  23. 3.3 局部故障
  24. 3.4 分布式系统中的共识
  25. 3.5 分布式系统中的时间
  26. 3.6 总结和延伸阅读
  27. 第4章 并发系统概述
  28. 4.1 为什么要并发
  29. 4.2 线程
  30. 4.3 线程执行顺序
  31. 4.4 线程引入的问题
  32. 4.5 线程的状态
  33. 4.6 线程间的协调
  34. 4.7 线程池
  35. 4.8 同步屏障
  36. 4.9 线程安全集合
  37. 4.10 总结和延伸阅读
  38. 第二部分 可扩展系统
  39. 第5章 应用服务
  40. 5.1 服务设计
  41. 5.2 应用服务器
  42. 5.3 水平扩展
  43. 5.4 负载均衡
  44. 5.5 总结和延伸阅读
  45. 第6章 分布式缓存
  46. 6.1 应用缓存
  47. 6.2 Web缓存
  48. 6.3 总结和延伸阅读
  49. 第7章 异步消息传递
  50. 7.1 消息传递简介
  51. 7.2 示例:RabbitMQ
  52. 7.3 消息传递模式
  53. 7.4 总结和延伸阅读
  54. 第8章 无服务器处理系统
  55. 8.1 无服务器的魅力
  56. 8.2 GAE
  57. 8.3 AWS Lambda
  58. 8.4 案例研究:平衡吞吐量和成本
  59. 8.5 总结和延伸阅读
  60. 第9章 微服务
  61. 9.1 转向微服务
  62. 9.2 微服务的弹性
  63. 9.3 总结和延伸阅读
  64. 第三部分 可扩展的分布式数据库
  65. 第10章 可扩展数据库基础
  66. 10.1 分布式数据库
  67. 10.2 扩展关系数据库
  68. 10.3 向NoSQL转变
  69. 10.4 CAP定理
  70. 10.5 总结和延伸阅读
  71. 第11章 最终一致性
  72. 11.1 什么是最终一致性
  73. 11.2 可调节一致性
  74. 11.3 读取和写入仲裁
  75. 11.4 副本修复
  76. 11.5 冲突处理
  77. 11.6 总结和延伸阅读
  78. 第12章 强一致性
  79. 12.1 强一致性简介
  80. 12.2 一致性模型
  81. 12.3 分布式事务
  82. 12.4 分布式共识算法
  83. 12.5 总结和延伸阅读
  84. 第13章 分布式数据库实践案例
  85. 13.1 Redis
  86. 13.2 MongoDB
  87. 13.3 Amazon DynamoDB
  88. 13.4 总结和延伸阅读
  89. 第四部分 事件和流处理
  90. 第14章 可扩展的事件驱动处理
  91. 14.1 事件驱动架构
  92. 14.2 Apache Kafka
  93. 14.3 总结和延伸阅读
  94. 第15章 流处理系统
  95. 15.1 流处理简介
  96. 15.2 流处理平台
  97. 15.3 案例研究:Apache Flink
  98. 15.4 总结和延伸阅读
  99. 第16章 可扩展系统的基本要素
  100. 16.1 自动化
  101. 16.2 可观测性
  102. 16.3 部署平台
  103. 16.4 数据湖
  104. 16.5 总结和延伸阅读
书名:构建可扩展分布式系统:方法与实践
作者:Ian Gorton
译者:成海霞, 陈湖山 译
国内出版社:机械工业出版社
出版时间:2024年05月
页数:269
书号:978-1098106065
原版书书名:Foundations of Scalable Systems
原版书出版商:O'Reilly Media
Ian Gorton
 
Ian Gorton拥有30多年的软件架构师、作家、计算机科学教授和顾问经验。从研究生开始,他就专注于分布式技术,并在银行、电信、政府、医疗保健行业以及科学建模和仿真等领域从事大型软件系统的工作。他著有Essential Software Architecture(Springer)和Data Intensive Computing(Cambridge University Press),并撰写了200多篇关于软件架构和软件工程的科学和专业出版物。
 
 
购买选项
定价:109.00元
书号:978-1098106065
出版社:机械工业出版社