超大流量分布式架构解决方案 人人都是架构师2.0 高翔龙 分布式架构设计书籍 高可用高并发系pdf下载

超大流量分布式架构解决方案 人人都是架构师2.0 高翔龙 分布式架构设计书籍 高可用高并发系百度网盘pdf下载

作者:
简介:超大流量分布式架构解决方案 人人都是架构师2.0 高翔龙 分布式架构设计书籍 高可用高并发系
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

内容介绍

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


目录

目录
第 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
作者介绍

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

本书尽量通俗易懂、深入浅出地阐述每个知识点,并且结合实际的业务场景引入了大量的真实案例,其中的解决方案可直接应用于实际工作中。本书适合对超大流量分布式架构感兴趣的所有架构师、开发人员,以及运维人员参考阅读。

^_^:ae54ce5f0d9d188d0b0dacfc06800f87