高并发系统:设计原理与实践

高并发系统:设计原理与实践

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

编辑推荐

一本书涵盖互联网大厂主流的高并发系统设计方法与实践。

内容简介

本书主要探讨高并发场景下系统设计的原理和实践案例,帮助读者系统、快速地理解高并发系统的设计原理与相关实践,以及掌握解决高并发场景下可能遇到的各种问题的方法。

本书共6章。第1章介绍高并发系统的发展历史、设计难点和基本设计原则,以及度量指标;第2~4章介绍有助于提升高并发系统可用性的3种方法—系统容错、冗余和分片;第5章从提升高并发系统性能的角度讲解并发与异步的原理和实践技巧;第6章从系统运维和团队流程管理两个角度讲解如何提升团队对高并发系统的把控性,进而提升系统的可用性。

作者简介

作者唐扬,互联网资深技术专家,拥有超过15年的开发和架构经验。曾在美图、网易、新浪等大型互联网公司负责过多个大型产品的开发与维护工作,带领不同团队支撑过多个日均活跃用户数超千万的App。

章节目录

版权信息

内容提要

前言

资源与支持

第1章 高并发系统概述

1.1 高并发系统的发展历史

1.2 高并发系统的设计难点

1.2.1 系统的高可用

1.2.2 访问的高性能

1. 提高系统的并行能力

2. 缩短单次请求的响应时间

1.3 高并发系统的基本设计原则

1.3.1 面向失败编程

1. 系统容错

2. 防御性编程

1.3.2 可扩展

1.3.3 缓存

1.3.4 并发

1.4 高并发系统的度量指标

1.4.1 可用性的度量

1.4.2 性能的度量

1.5 小结

第2章 系统容错

2.1 重试

2.1.1 重试策略

2.1.2 重试风暴的应对方式

2.1.3 幂等性的保证方法

2.2 熔断

2.2.1 熔断的作用

2.2.2 断路器模式与应用

代码清单2-1 Redis调用代码

代码清单2-2 节点错误状态流转

代码清单2-3 节点状态探测

2.2.3 弹性熔断算法

代码清单2-4 初始化一个基于滑动窗口的计数器

代码清单2-5 弹性熔断算法处理请求

代码清单2-6 弹性熔断算法实现

2.2.4 Sentinel的熔断机制实现

代码清单2-7 DegradeSlot类的实现

代码清单2-8 AbstractCircuitBreaker类的实现

代码清单2-9 onRequestComplete()的实现

2.3 降级

2.3.1 降级的典型应用场景和处理方式

2.3.2 配置中心的实现

2.3.3 降级预案

2.4 超时

2.4.1 超时的重要性

2.4.2 设置任务的超时时间

2.5 限流

2.5.1 限流的4种算法

2.5.2 自适应限流算法

2.6 隔离

2.6.1 动静隔离

代码清单2-10 缓存行的伪共享示例代码

代码清单2-11 解决缓存行的伪共享示例代码

2.6.2 物理隔离

2.6.3 线程隔离

2.6.4 快慢隔离

2.6.5 热点数据隔离

2.7 小结

第3章 冗余

3.1 什么是冗余

3.2 存储冗余

3.2.1 MySQL冗余的实现方式

3.2.2 Kafka冗余的实现方式

3.3 缓存冗余

3.3.1 Memcached冗余的实现方式

3.3.2 极端读流量下缓存冗余的实现方式

1. 服务器CPU0的软中断负载较高

2. 网卡带宽的限制

3.3.3 极端写流量下缓存冗余的应对方法

3.3.4 缓存数据一致性保证

3.3.5 缓存不命中的应对方式

3.4 CDN冗余

3.4.1 上传系统之殇

3.4.2 CDN冗余和调度

3.4.3 视频防盗链的实现方式

3.5 服务器冗余

3.5.1 常见的负载均衡算法

3.5.2 故障节点的探测

3.5.3 流量爬坡

3.6 机房冗余

3.6.1 机房冗余的实现方式

3.6.2 同城双活

3.6.3 两地三中心

3.6.4 异地多活

3.7 小结

第4章 分片

4.1 数据库分片

4.1.1 常见的数据库分片方式

4.1.2 多字段查询

4.1.3 数据迁移

4.1.4 ID的生成方式

4.1.5 分布式系统的数据一致性

4.2 缓存分片

4.2.1 缓存的分片方式

4.2.2 无底洞效应

4.3 小结

第5章 并发与异步

5.1 并发与异步的区别

5.2 并发编程的实现方式:池化技术

5.2.1 线程池的原理与使用技巧

代码清单5-1 优先扩充线程数的线程池实现代码

5.2.2 数据库连接池的原理

代码清单5-2 Druid示例配置

5.3 并发编程的安全性与性能

5.3.1 并发编程的安全性

代码清单5-3 指令重排无影响代码示例

代码清单5-4 指令重排有影响代码示例

5.3.2 并发编程的性能

5.4 消息队列

5.4.1 消息队列的作用

5.4.2 保证消息不丢失

5.4.3 保证消息不重复

5.4.4 消息延迟的危害

5.4.5 消息延迟的优化

5.5 小结

第6章 高并发系统的运维

6.1 全链路监控

6.1.1 全链路监控的技术体系

6.1.2 分布式追踪系统的构建

6.1.3 用户监控系统

6.2 报警系统

6.2.1 报警的原则

6.2.2 常见的报警收敛方法

6.3 全链路压测

6.3.1 全链路压测的常见误区

6.3.2 流量染色

6.3.3 流量处理方式

6.3.4 影子库表

6.3.5 全链路压测系统的架构

6.4 故障演练

6.4.1 故障演练的原则

6.4.2 故障演练的标准执行流程

6.4.3 故障演练工具

6.5 稳定性保障流程

6.5.1 控制变更流程

6.5.2 整理SOP文档

6.5.3 重视故障复盘机制

6.5.4 做好日常系统梳理

6.6 小结

高并发系统:设计原理与实践是2025年由人民邮电出版社出版,作者唐扬。

得书感谢您对《高并发系统:设计原理与实践》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
深度学习原理与实践 电子书
(1)大量图例,简单易懂。作者亲自绘制了大量插图,力求还原深度学习的算法思想,分解和剖析晦涩的算法,用图例来表示复杂的问题。生动的图例也能给读者带来阅读乐趣,快乐地学习算法知识,体会深度学习的算法本质。 (2)简化公式,生动比喻。深度学习和机器学习类的书中通常会有大量复杂冗长的算法公式,为了避免出现读者读不懂的情况,本书尽可能地统一了公式和符号,简化相关公式,并加以生动的比喻进行解析。在启发读者的同时,锻炼读者分析问题和解决问题的能力。 (3)算法原理,代码实现。在介绍深度学习及相关算法的原理时,不仅给出了对应的公式,还给出了实现和求解公式的代码,让读者明确该算法的作用、输入和输出。原理与代码相结合,使得读者对深度学习的算法实现更加具有亲切感。 (4)深入浅出,精心剖析。理解深度学习需要一定的机器学习知识,本书在D1章介绍了深度学习与机器学习的关系,并简要介绍了机器学习的内容。在内容安排上,每章依次介绍模型框架的应用场景、结构和使用方式,最后通过真实的案例去全面分析该模型结构。目的是让读者可以抓住深度学习的本质。 (5)入门实践,案例重现。每一章最后的真实案例不是直接堆砌代码,而是讲解使用该算法模型的原因和好处。从简单的背景知识出发,使用前文讲解过的深度学习知识实现一个实际的工程项目。实践可以用于及时检验读者对所学知识的掌握程度,为读者奠定深度学习的实践基础。 将一本技术书籍写得通俗易懂谈何容易,但《深度学习原理与实践》这本书确实做到了。书中对近年来火热的深度学习理论知识进行简单剖析,化繁为简,没有局限于坐而论道,而是将实例和数学理论相结合,让读者能够快速理解各种模型并上手实践,值得细读。 --唐春明 广州大学数学与信息学科学院副院长 本书从原理、方法、实践这 3 个维度系统地介绍了深度学习的方方面面,内容详实,解读清晰,细节与全貌兼顾,既适合初学者阅读,也可以作为深入研究的参考用书。 --杨刚 西安电子科技大学教授 近年来出版的深度学习相关图书中,本书是我见过非常有指导意义的中文书籍之一。本书对 ANN、CNN、RNN 等模型进行深入浅出的介绍,引入大量图例和简化后的公式,让算法浅显易懂。每一章的实践内容都给人惊喜,强烈推荐! --吴健之 腾讯音乐高级工程师 作为产品经理,我能看懂的深度学习书籍实在太少了。本书恰到好处,插图丰富直观,数学公式简练,很喜欢此类风格的图书,易懂好学。即使你不是程序员或算法专家,该书也值得一看! --张瑞 中软国际高级产品经理
边缘计算原理与实践 电子书
本书对边缘计算的发展历史与趋势、几种典型的边缘计算技术的基本架构与原理进行了阐述,并对边缘计算涉及的关键技术与最新进展、部署方案、应用场景与实践进行了详细讲解。本书涉及的内容广泛、技术思想凝炼,突出核心原理和关键技术的阐述,同时力图深入讲解边缘计算开源平台的使用过程。本书对从事边缘计算技术研发的专业人士、网络运营管理人员、相关专业高校学生以及对边缘计算技术感兴趣的读者,都具有一定的参考价值。
云计算原理与实践 电子书
本书系统地讲解了云计算的知识框架,包括云计算的三大认识角度(商业模式、计算范式、实现方式)、四个关键技术(计算、存储、网络、安全)、四种开发运维维度(云原生应用、云操作系统、云端软件、云运维),以及三大应用场景(云桌面、开发云、大数据与人工智能)。本书在大部分的章中安排了一个或多个基于开源软件的实训内容,以帮助读者更有效地动手实践,包括GitHub、Hadoop、OpenStack、KVM、Doc
深度学习原理与 TensorFlow实践 电子书
本书介绍了深度学习原理与TensorFlow实践。着重讲述了当前学术界和工业界的深度学习核心知识:机器学习概论、神经网络、深度学习。着重讲述了深度学习的实现以及深度学习框架TensorFlow:Python编程基础、TensorFlow编程基础、TensorFlow模型、TensorFlow编程实践、TensorFlowLite和TensorFlow.js、TensorFlow案例--医学应用和S
微服务设计原理与架构 电子书
本书共分为四大篇幅内容,包括:1.直面微服务篇,剖析微服务架构的基本特征、优势和劣势,并给出实施微服务架构的系统方法。2.服务建模篇,介绍服务建模的思路和方法,并从服务拆分和集成角度对服务模型进行重点展开。3.服务实现篇,介绍微服务架构涉及的基础组件、关键要素以及目前主流的技术实现体系。4.服务转型篇,包括对遗留系统进行微服务架构的改造方法以及对研发过程转型的讨论。