《人人都是架构师-分布式系统架构落地与瓶颈突破》高清带标签电子书PDF

下载地址:

http://pan.ishare1.cn/file/2973105-427937169

内容简介· · · · · ·

《人人都是架构师:分布式系统架构落地与瓶颈突破》并没有过多渲染系统架构的理论知识,而是切切实实站在开发一线角度,为各位读者诠释了大型网站在架构演变过程中出现一系列技术难题时的解决方案。《人人都是架构师:分布式系统架构落地与瓶颈突破》首先从分布式服务案例开始介绍,重点为大家讲解了大规模服务化场景下企业应该如何实施服务治理;然后在大流量限流/消峰案例中,笔者为大家讲解了应该如何有效地对流量实施管制,避免大流量对系统产生较大冲击,确保核心业务的稳定运行;接着笔者为大家讲解了分布式配置管理服务;之后的几章,笔者不仅为大家讲解了秒杀、限时抢购场景下热点数据的读/写优化案例,还为大家讲解了数据库实施分库分表改造后所带来的一系列影响的解决方案。

《人人都是架构师:分布式系统架构落地与瓶颈突破》适用于任何对分布式系统架构感兴趣的架构师、开发人员以及运维人员。相信阅读《人人都是架构师:分布式系统架构落地与瓶颈突破》你将会有知其然和知其所以然的畅快感。

目录· · · · · ·

第1章 分布式服务案例1

1.1 分布式系统的架构演变过程2

1.1.1 单机系统3

1.1.2 集群架构4

1.1.3 拆系统之业务垂直化6

1.1.4 为什么需要实现服务化架构8

1.1.5 服务拆分粒度之微服务10

1.2 系统服务化需求11

1.2.1 服务化与RPC协议11

1.2.2 使用阿里分布式服务框架Dubbo实现服务化12

1.2.3 警惕Dubbo因超时和重试引起的系统雪崩16

1.2.4 服务治理方案18

1.2.5 关于服务化后的分布式事务问题20

1.3 分布式调用跟踪系统需求21

1.3.1 Google的Dapper论文简介22

1.3.2 基于Dubbo实现分布式调用跟踪系统方案25

1.3.3 采样率方案35

1.4 本章小结37

第2章 大流量限流/消峰案例38

2.1 分布式系统为什么需要进行流量管制39

2.2 限流的具体方案42

2.2.1 常见的限流算法43

2.2.2 使用Google的Guava实现平均速率限流45

2.2.3 使用Nginx实现接入层限流48

2.2.4 使用计数器算法实现商品抢购限流49

2.3 基于时间分片的消峰方案51

2.3.1 活动分时段进行实现消峰52

2.3.2 通过答题验证实现消峰52

2.4 异步调用需求53

2.4.1 使用MQ实现系统之间的解耦54

2.4.2 使用Apache开源的ActiveMQ实现异步调用55

2.4.3 使用阿里开源的RocketMQ实现互联网场景下的流量消峰61

2.4.4 基于MQ方案实现流量消峰的一些典型案例72

2.5 本章小结75

第3章 分布式配置管理服务案例76

3.1 本地配置77

3.1.1 将配置信息耦合在业务代码中77

3.1.2 将配置信息配置在配置文件中79

3.2 集中式资源配置需求82

3.2.1 分布式一致性协调服务ZooKeeper简介83

3.2.2 ZooKeeper的下载与集群安装84

3.2.3 ZooKeeper的基本使用技巧86

3.2.4 基于ZooKeeper实现分布式配置管理平台方案87

3.2.5 从配置中心获取Spring的Bean定义实现Bean动态注册93

3.2.6 容灾方案95

3.2.7 使用淘宝Diamond实现分布式配置管理服务96

3.2.8 Diamond与ZooKeeper的细节差异101

3.2.9 使用百度Disconf实现分布式配置管理服务102

3.3 本章小结110

第4章 大促场景下热点数据的读/写优化案例111

4.1 缓存技术简介112

4.1.1 使用Ehcache实现数据缓存114

4.1.2 LocalCache存在的弊端116

4.1.3 神秘的off-heap技术117

4.2 高性能分布式缓存Redis简介120

4.2.1 使用Jedis客户端操作Redis121

4.2.2 使用Redis集群实现数据水平化存储122

4.3 同一热卖商品高并发读需求124

4.3.1 Redis集群多写多读方案125

4.3.2 保障多写时的数据一致性126

4.3.3 LocalCache结合Redis集群的多级Cache方案128

4.3.4 实时热点自动发现方案130

4.4 同一热卖商品高并发写需求132

4.4.1 InnoDB行锁引起数据库TPS下降132

4.4.2 在Redis中扣减热卖商品库存方案134

4.4.3 热卖商品库存扣减优化方案138

4.4.4 控制单机并发写流量方案141

4.4.5 使用阿里开源的AliSQL数据库提升秒杀场景性能142

4.5 本章小结148

第5章 数据库分库分表案例149

5.1 关系型数据库的架构演变150

5.1.1 数据库读写分离150

5.1.2 数据库垂直分库151

5.1.3 数据库水平分库与水平分表152

5.1.4 MySQL Sharding与MySQL Cluster的区别153

5.2 Sharding中间件154

5.2.1 常见的 Sharding中间件对比155

5.2.2 Shark简介156

5.2.3 Shark的架构模型157

5.2.4 使用Shark实现分库分表后的数据路由任务159

5.2.5 分库分表后所带来的影响166

5.2.6 多机SequenceID解决方案167

5.2.7 使用Solr满足多维度的复杂条件查询170

5.2.8 关于分布式事务172

5.3 数据库的HA方案173

5.3.1 基于配置中心实现主从切换174

5.3.2 基于Keepalived实现主从切换176

5.3.3 保障主从切换过程中的数据一致性179

5.4 订单业务冗余表需求180

5.4.1 冗余表的实现方案181

5.4.2 保障冗余表的数据一致性183

5.5 本章小结186

后记187

下载地址:

《人人都是架构师-分布式系统架构落地与瓶颈突破》高清带标签电子书[email protected]:http://pan.ishare1.cn/file/2973105-427937169

你可能感兴趣的:(《人人都是架构师-分布式系统架构落地与瓶颈突破》高清带标签电子书PDF)