高可用架构(第1卷) 封面

高可用架构(第1卷)

评分 3.6
字数
23.8万字
章节数
370
ISBN
9787121314667

标签

内容简介

本书由数十位一线架构师的实践与经验凝结而成,选材兼顾技术性、前瞻性与专业深度。各技术焦点,均由极具代表性的领域专家或实践先行者撰文深度剖析,共同组成“高可用”的全局视野与领先高度,内容包括精华案例、分布式原理、电商架构等热门专题,及云计算、容器、运维、大数据、安全等重点方向。不仅架构师可以从中受益,其他IT、互联网技术从业者同样可以得到提升。

编辑推荐

这是一本由一线架构师群体共同贡献的实践型文集,作者来源多元,围绕高可用这一核心主题,把精华案例、分布式原理、电商架构等热门专题与云计算、容器、运维、大数据、安全等重点方向放在同一视野中讨论。它的长处在于兼顾技术性、前瞻性与专业深度:既有领域专家对技术焦点的深度剖析,也有实践先行者的经验总结,读者能从中看到不同团队面对真实系统问题时的取舍思路。对于已经具备一定工程经验的读者,本书更像一组高质量的架构对话材料,适合在项目设计、技术选型和团队分享中对照使用;对初入行者而言,则需要先补齐分布式与系统基础,才能充分吸收其中的设计权衡。

适合谁读

适合

  • 有几年开发经验、准备向架构方向发展的工程师
  • 负责系统稳定性与高可用设计的架构师和技术负责人
  • 互联网公司运维、后端开发人员,希望拓展全局技术视野
  • 技术团队负责人,用于组织内部技术分享与架构讨论

不适合

  • 零基础编程初学者,缺少分布式与系统知识铺垫
  • 只想学习单一框架用法、不关心架构权衡的读者
  • 非技术岗位读者,书中大量工程术语会造成理解障碍

阅读建议

  1. 先通读目录,按自己系统中最紧迫的问题选择专题精读
  2. 读案例时先画出原有架构与问题场景,再对照作者的解决思路
  3. 把分布式原理篇与电商架构篇交叉阅读,理解原理如何落到业务
  4. 每读完一个专题,在团队内做一次简短分享,用输出检验吸收

出版社简介

电子工业出版社 中国 · 成立于 1982 年

电子工业出版社是一家以电子信息及相关领域为出版特色的综合性出版社。从库内三千余种图书来看,其出版方向覆盖编程设计、人工智能、计算机综合、财经、摄影与社科等门类,既关注技术前沿,也兼顾大众阅读。代表图书包括《因子投资:方法与实践》《x86汇编语言:从实模式到保护模式》《RISC-V开放架构设计之道》《人工智能:语音识别理解与实践》《相控阵雷达技术》《雷达目标特性》及《100个Go语言典型错误》等,多围绕技术方法与工程实践展开。作者资源方面,有石川、李忠、王晓波、大卫·帕特森、安德鲁·沃特曼、余子濠等中外作者。受公开资料所限,暂不展开更多出版特色。

目录

  1. 版权信息
  2. 内容简介
  3. 推荐序1 技术没有高低
  4. 推荐序2
  5. 推荐序3
  6. 推荐序4
  7. 前言
  8. 第1章 高可用架构案例精选
  9. 1.1 Twitter高性能分布式日志系统架构解析
  10. 1.1.1 为什么需要分布式日志
  11. 1.1.2 Twitter如何考虑这个问题
  12. 1.1.3 基于Apache BookKeeper构建DistributeLog
  13. 1.1.4 DistributeLog案例分享
  14. 1.1.5 疑问与解惑
  15. 1.2 腾讯基于用户画像大数据的电商防刷架构
  16. 1.2.1 背景介绍
  17. 1.2.2 黑产现状介绍
  18. 1.2.3 腾讯内部防刷架构
  19. 1.2.4 腾讯大数据收集维度
  20. 1.2.5 腾讯大数据处理平台——魔方
  21. 1.2.6 疑问与解惑
  22. 1.3 如何设计类似微信的多终端数据同步协议:Grouk实践分享
  23. 1.3.1 移动互联网时代多终端数据同步面临的挑战
  24. 1.3.2 多终端数据同步与传统消息投递协议的差异
  25. 1.3.3 Grouk在多终端数据同步协议上的探索实践
  26. 1.3.4 疑问与解惑
  27. 1.4 如何实现支持数亿用户的长连消息系统:Golang高并发案例
  28. 1.4.1 关于push系统对比与性能指标的讨论
  29. 1.4.2 消息系统架构介绍
  30. 1.4.3 哪些因素能影响推送系统
  31. 1.4.4 GO语言开发问题与解决方案
  32. 1.4.5 消息系统的运维及测试
  33. 1.4.6 疑问与解惑
  34. 1.5 雪球在股市风暴下的高可用架构改造分享
  35. 1.5.1 雪球公司的介绍
  36. 1.5.2 雪球当前总体架构
  37. 1.5.3 雪球架构优化历程
  38. 1.5.4 关于架构优化的总结和感想
  39. 1.5.5 疑问与解惑
  40. 1.6 亿级短视频社交美拍架构实战
  41. 1.6.1 短视频市场的发展
  42. 1.6.2 美拍的发展
  43. 1.6.3 短视频所面临的架构问题
  44. 1.6.4 为支持亿级用户,美拍架构所做的一些改进
  45. 1.6.5 后续发展
  46. 1.7 微博“异地多活”部署经验谈
  47. 1.7.1 微博异地多活建设历程
  48. 1.7.2 微博异地多活面临的挑战
  49. 1.7.3 异地多活的最佳实践
  50. 1.7.4 异地多活的新方向
  51. 1.8 来自Google的高可用架构理念与实践
  52. 1.8.1 决定可用性的两大因素
  53. 1.8.2 高可用性方案
  54. 1.8.3 可用性7级图表
  55. 1.8.4 疑问与解惑
  56. 1.9 深入理解同步/异步与阻塞/非阻塞区别
  57. 1.9.1 同步与异步
  58. 1.9.2 阻塞与非阻塞
  59. 1.9.3 与多路复用I/O的联系
  60. 第2章 高可用架构原理与分布式实践
  61. 2.1 Codis作者细说分布式Redis架构设计
  62. 2.1.1 Redis、Redis Cluster和Codis
  63. 2.1.2 我们更爱一致性
  64. 2.1.3 Codis在生产环境中的使用经验和坑
  65. 2.1.4 分布式数据库和分布式架构
  66. 2.1.5 疑问与解惑
  67. 2.2 给你介绍一个不一样的硅谷
  68. 2.2.1 Uber
  69. 2.2.2 Coursera
  70. 2.2.3 Airbnb
  71. 2.2.4 硅谷行带给我的一些影响
  72. 2.2.5 疑问与解惑
  73. 2.3 解耦的艺术——大型互联网业务系统的插件化改造
  74. 2.3.1 插件化
  75. 2.3.2 如何处理用户交互
  76. 2.3.3 如何处理数据
  77. 2.3.4 总结
  78. 2.4 从零开始搭建高可用IM系统
  79. 2.4.1 什么是IM
  80. 2.4.2 协议设计
  81. 2.4.3 Web聊天室
  82. 2.4.4 IM典型业务场景
  83. 2.4.5 疑问与解惑
  84. 2.5 360分布式存储系统Bada的架构设计和应用
  85. 2.5.1 主要应用场景
  86. 2.5.2 整体架构
  87. 2.5.3 主要模块
  88. 2.5.4 数据分布策略
  89. 2.5.5 请求流程
  90. 2.5.6 多机房架构
  91. 2.5.7 FAQ
  92. 2.5.8 疑问与解惑
  93. 2.6 新一代分布式任务调度框架:当当Elastic-Job开源项目的10项特性
  94. 2.6.1 为什么需要作业(定时任务)
  95. 2.6.2 当当之前使用的作业系统
  96. 2.6.3 Elastic-Job的来历
  97. 2.6.4 Elastic-Job包含的功能
  98. 2.6.5 Elastic-Job的部署和使用
  99. 2.6.6 对开源产品的开发理念
  100. 2.6.7 未来展望
  101. 2.6.8 疑问与解惑
  102. 2.7 互联网DSP广告系统架构及关键技术解析
  103. 2.7.1 优秀DSP系统的特点
  104. 2.7.2 程序化购买的特点
  105. 2.7.3 在线广告的核心问题
  106. 2.7.4 在线广告的挑战
  107. 2.7.5 DSP系统架构
  108. 2.7.6 RTB投放引擎的架构
  109. 2.7.7 DMP
  110. 2.7.8 广告系统DMP数据处理的架构
  111. 2.7.9 用户画像的方法
  112. 2.7.10 广告行业的反作弊
  113. 2.7.11 P2P流量互刷
  114. 2.7.12 CPS引流作弊
  115. 2.7.13 疑问与解惑
  116. 2.8 亿级规模的Elasticsearch优化实战
  117. 2.8.1 索引性能(Index Performance)
  118. 2.8.2 查询性能(Query Performance)
  119. 2.8.3 其他
  120. 2.8.4 疑问与解惑
  121. 2.9 微博分布式存储考试题:案例讲解及作业精选
  122. 2.9.1 访问场景
  123. 2.9.2 设计
  124. 2.9.3 sharding策略
  125. 2.9.4 案例精选
  126. 2.10 架构师需要了解的Paxos原理、历程及实战
  127. 2.10.1 数据库高可用性难题
  128. 2.10.2 Paxos协议简单回顾
  129. 2.10.3 Basic Paxos同步日志的理论模型
  130. 2.10.4 Multi Paxos的实际应用
  131. 2.10.5 依赖时钟误差的变种Paxos选主协议简单分析
  132. 2.10.6 疑问与解惑
  133. 2.11 OpenResty的现在和未来
  134. 2.11.1 OpenResty是什么,适合什么场景下使用
  135. 2.11.2 某安全公司服务端技术选型的标准
  136. 2.11.3 如何在项目中引入新技术
  137. 2.11.4 如何入门以及学习的正确方法
  138. 2.11.5 OpenResty中的测试和调试
  139. 2.11.6 NginScript是否会替代OpenResty
  140. 2.11.7 未来重点解决的问题和新增特性
  141. 2.11.8 开源社区建设
  142. 2.11.9 疑问与解惑
  143. 第3章 电商架构热点专题
  144. 3.1 亿级商品详情页架构演进技术解密
  145. 3.1.1 商品详情页
  146. 3.1.2 商品详情页发展史
  147. 3.1.3 遇到的一些问题和解决方案
  148. 3.1.4 总结
  149. 3.1.5 疑问与解惑
  150. 3.2 大促系统全流量压测及稳定性保证——京东交易架构
  151. 3.2.1 交易系统的三个阶段
  152. 3.2.2 交易系统的三层结构
  153. 3.2.3 交易系统的访问特征
  154. 3.2.4 应对大促的第1步:全链路全流量线上压测
  155. 3.2.5 应对大促的第2步:根据压力表现进行调优
  156. 3.2.6 异步和异构
  157. 3.2.7 应对大促的第3步:分流与限流
  158. 3.2.8 应对大促的第4步:容灾降级
  159. 3.2.9 应对大促的第5步:完善监控
  160. 3.2.10 疑问与解惑
  161. 3.3 秒杀系统架构解密与防刷设计
  162. 3.3.1 抢购业务介绍
  163. 3.3.2 具体抢购项目中的设计
  164. 3.3.3 如何解耦前后端压力
  165. 3.3.4 如何保证商品库的库存可靠
  166. 3.3.5 如何与第三方多方对账
  167. 3.3.6 项目总结
  168. 3.3.7 疑问与解惑
  169. 3.4 Lambda架构与推荐在电商网站实践
  170. 3.4.1 Lambda架构
  171. 3.4.2 1号店推荐系统实践
  172. 3.4.3 Lambda的未来
  173. 3.4.4 思考
  174. 3.4.5 疑问与解惑
  175. 3.5 某公司线上真实流量压测工具构建
  176. 3.5.1 为什么要开发一个通用的压测工具
  177. 3.5.2 常见的压测工具
  178. 3.5.3 构建自己的压测工具
  179. 3.5.4 疑问与解惑
  180. 第4章 容器与云计算
  181. 4.1 微博基于Docker容器的混合云迁移实战
  182. 4.1.1 为什么要采用混合云的架构
  183. 4.1.2 跨云的资源管理与调度
  184. 4.1.3 容器的编排与服务发现
  185. 4.1.4 混合云监控体系
  186. 4.1.5 前进路上遇到的那些坑
  187. 4.1.6 疑问与解惑
  188. 4.2 互联网金融创业公司Docker实践
  189. 4.2.1 背景介绍
  190. 4.2.2 容器选型
  191. 4.2.3 应用迁移
  192. 4.2.4 弹性扩容
  193. 4.2.5 未来规划
  194. 4.2.6 疑问与解惑
  195. 4.3 使用开源Calico构建Docker多租户网络
  196. 4.3.1 PaaS平台的网络需求
  197. 4.3.2 使用Calico实现Docker的跨服务器通信
  198. 4.3.3 利用Profile实现ACL
  199. 4.3.4 性能测试
  200. 4.3.5 Calico的发展
  201. 4.3.6 疑问与解惑
  202. 4.4 解析Docker在芒果TV的实践之路
  203. 4.4.1 豆瓣时期
  204. 4.4.2 芒果TV的Nebulium Engine
  205. 4.4.3 Project Eru
  206. 4.4.4 细节
  207. 4.4.5 网络
  208. 4.4.6 存储
  209. 4.4.7 Scale
  210. 4.4.8 资源分配和集群调度
  211. 4.4.9 服务发现和安全
  212. 4.4.10 实例
  213. 4.4.1 1 总结
  214. 4.4.12 疑问与解惑
  215. 4.5 微博基于Docker的混合云平台设计与实践
  216. 4.5.1 微博的业务场景及混合云背景
  217. 4.5.2 三大基础设施助力微博混合云
  218. 4.5.3 微博混合云DCP系统设计核心:自动化、弹性调度
  219. 4.5.4 引入阿里云作为第3机房,实现弹性调度架构
  220. 4.5.5 大规模集群操作自动化
  221. 4.5.6 不怕峰值事件
  222. 第5章 运维保障
  223. 5.1 360如何用QConf搞定两万台以上服务器的配置管理
  224. 5.1.1 设计初衷
  225. 5.1.2 整体认识
  226. 5.1.3 架构介绍
  227. 5.1.4 QConf服务端
  228. 5.1.5 QConf客户端
  229. 5.1.6 QConf管理端
  230. 5.1.7 其他
  231. 5.1.8 疑问与解惑
  232. 5.2 深度剖析开源分布式监控CAT
  233. 5.2.1 背景介绍
  234. 5.2.2 整体设计
  235. 5.2.3 客户端设计
  236. 5.2.4 服务端设计
  237. 5.2.5 总结感悟
  238. 5.3 单表60亿记录等大数据场景的MySQL优化和运维之道
  239. 5.3.1 前言
  240. 5.3.2 数据库开发规范
  241. 5.3.3 数据库运维规范
  242. 5.3.4 性能优化
  243. 5.3.5 疑问与解惑
  244. 5.4 微博在大规模、高负载系统问题排查方法
  245. 5.4.1 背景
  246. 5.4.2 排查方法及线索
  247. 5.4.3 总结
  248. 5.4.4 疑问与解惑
  249. 5.5 系统运维之为什么每个团队存在大量烂代码
  250. 5.5.1 写烂代码很容易
  251. 5.5.2 烂代码终究是烂代码
  252. 5.5.3 重构不是万能药
  253. 5.5.4 写好代码很难
  254. 5.5.5 悲观的结语
  255. 5.6 系统运维之评价代码优劣的方法
  256. 5.6.1 什么是好代码
  257. 5.6.2 结语
  258. 5.6.3 参考阅读
  259. 5.7 系统运维之如何应对烂代码
  260. 5.7.1 改善可维护性
  261. 5.7.2 改善性能与健壮性
  262. 5.7.3 改善生存环境
  263. 5.7.4 个人感想
  264. 第6章 大数据与数据库
  265. 6.1 某音乐公司的大数据实践
  266. 6.1.1 什么是大数据
  267. 6.1.2 某音乐公司大数据技术架构
  268. 6.1.3 在大数据平台重构过程中踩过的坑
  269. 6.1.4 后续的持续改进
  270. 6.2 实时计算在点评
  271. 6.2.1 实时计算在点评的使用场景
  272. 6.2.2 实时计算在业界的使用场景
  273. 6.2.3 点评如何构建实时计算平台
  274. 6.2.4 Storm基础知识简单介绍
  275. 6.2.5 如何保证业务运行的可靠性
  276. 6.2.6 Storm使用经验分享
  277. 6.2.7 关于计算框架的后续想法
  278. 6.2.8 疑问与解惑
  279. 6.3 百姓网Elasticsearch 2.x升级之路
  280. 6.3.1 Elasticsearch 2.x变化
  281. 6.3.2 升级之路
  282. 6.3.3 优化或建议
  283. 6.3.4 百姓之道
  284. 6.3.5 后话:Elasticsearch 5.0
  285. 6.3.6 升级2.x版本成功,5.x版本还会远吗
  286. 6.3.7 疑问与解惑
  287. 6.4 Hadoop、HBase年度回顾
  288. 6.4.1 Hadoop 2015技术发展
  289. 6.4.2 HBase 2015年技术发展
  290. 6.4.3 疑问与解惑
  291. 6.5 解密Apache HAWQ——功能强大的SQL-on-Hadoop引擎
  292. 6.5.1 HAWQ基本介绍
  293. 6.5.2 Apache HAWQ系统架构
  294. 6.5.3 HAWQ中短期规划
  295. 6.5.4 贡献到Apache HAWQ社区
  296. 6.5.5 疑问与解惑
  297. 6.6 PostgresSQL HA高可用架构实战
  298. 6.6.1 PostgreSQL背景介绍
  299. 6.6.2 在PostgreSQL下如何实现数据复制技术的HA高可用集群
  300. 6.6.3 Corosync+Pacemaker MS模式介绍
  301. 6.6.4 Corosync+Pacemaker M/S环境配置
  302. 6.6.5 Corosync+Pacemaker HA基础配置
  303. 6.6.6 PostgreSQL Sync模式当前的问题
  304. 6.6.7 疑问与解惑
  305. 6.7 从NoSQL历史看未来
  306. 6.7.1 前言
  307. 6.7.2 1970年:We have no SQL
  308. 6.7.3 1980年:Know SQL
  309. 6.7.4 2000年:No SQL
  310. 6.7.5 2005年:不仅仅是SQL
  311. 6.7.6 2013年:No,SQL
  312. 6.7.7 阿里的技术选择
  313. 6.7.8 疑问与解惑
  314. 6.8 MySQL 5.7新特性大全和未来展望
  315. 6.8.1 提高运维效率的特性
  316. 6.8.2 优化器Server层改进
  317. 6.8.3 InnoDB层优化
  318. 6.8.4 未来发展
  319. 6.8.5 运维经验总结
  320. 6.8.6 疑问与解惑
  321. 6.9 大数据盘点之Spark篇
  322. 6.9.1 Spark的特性以及功能
  323. 6.9.2 Spark在Hulu的实践
  324. 6.9.3 Spark未来的发展趋势
  325. 6.9.4 参考文章
  326. 6.9.5 疑问与解惑
  327. 6.10 从Postgres 95到PostgreSQL 9.5:新版亮眼特性
  328. 6.10.1 Postgres 95介绍
  329. 6.10.2 PostgresSQL版本发展历史
  330. 6.10.3 PostgresSQL 9.5的亮眼特性
  331. 6.10.4 PostgresSQL还可以做什么
  332. 6.10.5 疑问与解惑
  333. 6.11 MongoDB 2015回顾:全新里程碑式的WiredTiger存储引擎
  334. 6.11.1 存储引擎的发展
  335. 6.11.2 复制集改进
  336. 6.11.3 自动分片机制
  337. 6.11.4 其他新特性介绍
  338. 6.11.5 疑问与解惑
  339. 6.12 基于Xapian的垂直搜索引擎的构建分析
  340. 6.12.1 垂直搜索的应用场景
  341. 6.12.2 技术选型
  342. 6.12.3 垂直搜索的引擎架构
  343. 6.12.4 垂直搜索技术和业务细节
  344. 6.12.5 疑问与解惑
  345. 第7章 安全与网络
  346. 7.1 揭秘DDoS防护——腾讯云大禹系统
  347. 7.1.1 有关DDoS简介的问答
  348. 7.1.2 有关大禹系统简介的问答
  349. 7.1.3 有关大禹系统硬件防护能力的问答
  350. 7.1.4 有关算法设计的问答
  351. 7.1.5 大禹和其他产品、技术的区别
  352. 7.2 App域名劫持之DNS高可用——开源版HttpDNS方案详解
  353. 7.2.1 HttpDNSLib库组成
  354. 7.2.2 HttpDNS交互流程
  355. 7.2.3 代码结构
  356. 7.2.4 开发过程中的一些问题及应对
  357. 7.2.5 疑问与解惑
  358. 7.3 CDN对流媒体和应用分发的支持及优化
  359. 7.3.1 CDN系统工作原理
  360. 7.3.2 网络分发过程中ISP的影响
  361. 7.3.3 防盗链
  362. 7.3.4 内容分发系统的问题和应对思路
  363. 7.3.5 P2P穿墙打洞
  364. 7.3.6 疑问与解惑
  365. 7.4 HTTPS环境使用第三方CDN的证书难题与最佳实践
  366. 7.5 互联网主要安全威胁分析及应对方案
  367. 7.5.1 互联网Web应用面临的主要威胁
  368. 7.5.2 威胁应对方案
  369. 7.5.3 疑问与解惑
  370. 7.5.4 进一步阅读

常见问题

需要什么基础才能读这本书?
建议具备后端开发经验,了解基本的网络、数据库和分布式系统概念,并对至少一种主流技术栈有实际使用经历。书中各专题由不同作者撰写,深度不一,基础薄弱时可以先跳过原理性较强的篇章,从案例类内容入手。
这本书适合从头到尾通读吗?
更适合按专题选读。各章由不同一线架构师撰写,主题相对独立,通读容易在陌生领域消耗耐心。建议先围绕自己当前系统的高可用问题选读相关章节,形成整体框架后再补读其他方向,效果更好。
书中的案例会不会因为技术更新而过时?
具体技术产品和工具会随时间变化,但架构师分析问题、权衡取舍的思路具有较长的参考价值。阅读时建议重点关注问题定义、方案比较和失败教训,而不是照搬具体配置或工具选型,并结合当前技术环境做判断。

读者评论

查询本书

本站为索引目录:「全网查询」由您发起、在您的浏览器中运行,所列入口均指向第三方站点,请自行判断可用性。

作者简介

高可用架构社区是一个以集体署名方式出现的编写组织,其名称本身即点明了关注方向:高可用系统架构的设计、实践与经验总结。公开资料有限,目前尚无法确认该社区的具体成立时间、组织形态与成员构成,也未见其获得奖项、资质或排名等信息。从库内唯一收录的作品《高可用架构(第1卷)》来看,该社区倾向于围绕编程设计领域,将架构层面的思路、方法与案例整理成书,供技术读者参考。其写作风格偏向技术实务,注重架构可靠性与工程落地,内容面向对系统稳定性与可扩展性有需求的开发者与架构人员。受资料所限,其整体影响与后续出版情况暂无法评述。

同类高分