猜你喜欢
超大流量分布式系统架构解决方案:人人都是架构师2.0

超大流量分布式系统架构解决方案:人人都是架构师2.0

书籍作者:高翔龙 ISBN:9787121385056
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:4283
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

本书共5章,每一章的内容几乎都是独立的,大家完全可以有选择性地阅读。第1章以大规模服务化架构作为全书的开篇,主要介绍了分布式系统架构的演变过程,以及在大规模服务调用场景下,如何实施服务治理。第2章重点介绍了在大促前夕,如何在线上实施全链路压测,以及有指导性地进行容量规划和性能优化,让系统坚如磐石。第3章重点介绍了如何有效地对流量实施管制,若采用合理且有效的方式管制住峰值流量,使其井然有序地对系统进行访问,则在任何情况下,系统就都能稳定运行。第4章重点介绍了在大促抢购的场景下,如何解决高并发读和高并发写等核心技术难题。第5章详细地介绍了关系型数据库的架构演变过程,还重点介绍了在实际的订单业务场景下,如何保证数据的最终一致性。

作者简介

云集基础架构负责人,技术委员会委员,经历了云集架构从0到1的蜕变,见证了云集业务的井喷式增长,拥有大量高并发、大流量,以及海量数据处理的实战经验,负责云集基础技术平台的架构设计和中间件研发等工作,热衷于开源技术,常年游走在GitHub上。

编辑推荐

每一章都是重点,每一章都是解决方案

1、货真价实的大型网站架构演变过程中核心技术难题的解决方案;

2、全书所有的解决方案分享均来自作者真实的一线亲身经历;

3、大规模服务化场景下,企业实施服务治理的相关难点、痛点问题全面剖析;

4、大规模线上全链路压测落地方案剖析,寻找系统薄弱环节,有指导的在大促前进行容量规划和性能化,让系统坚如磐石;

5、大流量限流/削峰案例全面剖析,尽可能将用户流量挡在系统上游,避免对交易系统产生较大冲击;

6、深度剖析大促抢购场景下,爆款商品、热点数据的读/写优化案例;

7、数据库Sharding案例全面剖析,为大家深入讲解如何有效提升RDBMS的并行处理能力和检索效率;

7、线上故障排查经验分享,Sandbox源码剖析;

8、全书所有解决方案均可结合实际的业务场景来进行落地;

9、全书少理论,重实操;

10、大型网站架构一定是简单和清晰的,而不是炫技般的复杂化,解决问题采用直接的方式直击要害才是真正见效的。


目录

目录
第 1 章 大系统小做――大规模服务化架构 1
1.1 分布式系统的架构演变过程 1
1.1.1 单机架构 3
1.1.2 集群架构 4
1.1.3 垂直拆分业务子系统 6
1.1.4 服务化架构演进 8
1.1.5 服务化与微服务架构的区别 9
1.1.6 集群与分布式的区别 10
1.1.7 前后端分离架构演进 11
1.1.8 API 网关服务 14
1.1.9 分布式多活数据中心架构演进 17
1.2 服务治理需求 20
1.2.1 服务化与 RPC 协议 20
1.2.2 基于服务治理框架 Dubbo 实现服务化 22
1.2.3 警惕因超时和重试引起的系统雪崩 26
1.2.4 为什么需要实施服务治理 28
1.2.5 关于服务化后的分布式事务问题 31
1.2.6 注册中心性能瓶颈方案 32
1.2.7 分布式多活架构下的服务就近调用方案 34
1.3 服务治理之调用链 35
1.3.1 Google 的 Dapper 论文简介 36
1.3.2 调用链的实现方案 38
1.3.3 基于非侵入式运行期 AOP 方案实现数据采集上报 48
1.3.4 调配采样率 57
1.4 本章小结 58
第 2 章 大促备战核弹――全链路压测 59
2.1 为什么要在线上实施全链路压测 60
2.2 业务系统如何区分压测流量 63
2.2.1 压测流量打标方案 63
2.2.2 在链路上下文信息中传递压测标记 65
2.2.3 外部第三方接口走 Mock 67
2.2.4 压测数据的隔离方案 68
2.3 如何发起大规模的压测流量 69
2.3.1 数据构造平台 69
2.3.2 自研全链路压测军演系统的一些经验分享 71
2.4 本章小结 74
第 3 章 削峰填谷――流控方案 75
3.1 为什么需要限流 76
3.2 限流方案 79
3.2.1 常见的限流算法 80
3.2.2 基于 Guava 实现平均速率限流 83
3.2.3 接入层限流方案 86
3.2.4 应用层限流――限时抢购限流方案 89
3.3 基于时间分片的削峰方案 92
3.3.1 活动分时段进行实现削峰 93
3.3.2 通过答题验证实现削峰 93
3.4 基于消息队列的解耦、削峰、最终一致性方案 94
3.4.1 基于消息队列实现解耦 95
3.4.2 常见消息中间件的使用 96
3.4.3 基于消息队列的一些典型案例 113
3.5 本章小结 116
第 4 章 大促抢购核心技术难题――读/写优化方案 117
4.1 缓存技术简介 118
4.1.1 本地缓存 119
4.1.2 本地缓存的痛点 121
4.1.3 神秘的 off-heap 技术 122
4.2 高性能分布式缓存 Redis 127
4.2.1 基于 Jedis 客户端操作 Redis 128
4.2.2 基于 RedisCluster 模式实现 Sharding 129
4.3 同一热卖商品高并发读难题 133
4.3.1 多级缓存方案 135
4.3.2 缓存穿透思考 139
4.3.3 RedisCluster 模式下的读/写分离方案 140
4.4 同一热卖商品高并发写难题 143
4.4.1 InnoDB 引擎的行锁问题 143
4.4.2 基于 Redis 乐观锁的库存扣减方案 145
4.4.3 嵌入 Lua 脚本的库存扣减方案149
4.4.4 基于 AliSQL 数据库提升并发写性能 155
4.5 本章小结 161
第 5 章 星罗棋布――分库分表方案 162
5.1 关系数据库的架构演变 163
5.1.1 数据库读/写分离 163
5.1.2 数据库垂直分库 164
5.1.3 数据库水平分库与水平分表 165
5.1.4 MySQL Sharding 与 MySQL Cluster 的区别166
5.2 Sharding 中间件 167
5.2.1 常见的 Sharding 中间件对比 167
5.2.2 Shark 简介 169
5.2.3 Shark 的架构模型 170
5.2.4 使用 Shark 实现分库分表后的数据路由任务 171
5.2.5 分库分表后所带来的影响 178
5.2.6 全局唯一 SequenceID 解决方案 179
5.2.7 基于 Solr 满足多维度的复杂条件查询 182
5.2.8 关于分布式事务 183
5.3 数据库的 HA 方案 184
5.3.1 基于配置中心实现主备切换 185
5.3.2 基于 Keepalived 实现主备切换 186
5.3.3 保障主备切换过程中的数据一致性 188
5.4 订单业务冗余表需求 190
5.4.1 冗余表的实现方案 190
5.4.2 数据最终一致性方案 192
5.5 本章小结 195
附录 196
后记223

短评

难得的很容易就能学到真本事的好书,作者没玩虚的,近乎毫无保留的在倾尽所学,是学习后能肉眼可见的提高生产力的好东西。

2020-04-01

超大流量分布式系统架构解决方案:人人都是架构师2.0的书评

之前拜读过作者前一本书,感觉第二本更深入了非常实用。指导性很强,难得的好书。特别是第四章丰富了双11和双12爆款商品热点写的非常真实,让人印象深刻。相对于这个架构脉络梳理过后更清晰了 。 这本书确实在工作中帮了我不少的忙,但是书中还是有些细节可以更深入一些。总之...

2020-03-31 20:09:22

标签
系统架构,分布式系统、解决方案、架构师,架构,分布式,解决方案,分布式系统
产品特色