失效链接处理 |
超大流量分布式系统架构解决方案:人人都是架构师2.0 高翔龙 epub 下载
下载地址:
版权归出版社和原作者所有,链接已删除,请购买正版
用户下载说明:
电子版仅供预览,下载后24小时内务必删除,支持正版,喜欢的请购买正版书籍:
http://product.dangdang.com/11142534806.html
相关截图: ![]() 资料简介: 本书共5章,每一章的内容几乎都是独立的,大家完全可以有选择性地阅读。章以大规模服务化架构作为全书的开篇,主要介绍了分布式系统架构的演变过程,以及在大规模服务调用场景下,如何实施服务治理。第2章重点介绍了在大促前夕,如何在线上实施全链路压测,以及有指导性地进行容量规划和性能优化,让系统坚如磐石。第3章重点介绍了如何有效地对流量实施管制,若采用合理且有效的方式管制住峰值流量,使其井然有序地对系统进行访问,则在任何情况下,系统就都能稳定运行。第4章重点介绍了在大促抢购的场景下,如何解决高并发读和高并发写等核心技术难题。第5章详细地介绍了关系型数据库的架构演变过程,还重点介绍了在实际的订单业务场景下,如何保证数据的最终一致性。 资料目录: 章 大系统小做——大规模服务化架构 ................................................................... 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 数据库水平分库与水平分表 ......... |