大小:39.95M
更新时间:23-09-07
系统:Pc
人人都是架构师:分布式系统架构落地与瓶颈突破是一本货真价实的互联网场景下大型网站架构演变过程中核心技术难题的解决方案,由高翔龙编著。本书全部来源于作者真实经历的生产案例,大型网站应对高并发、大流量的应急宝典,全书毫无保留地阐述了作者多年在互联网企业的架构设计经验,具体内容包括分布式服务案例全面剖析、大流量限流/消峰案例全面剖析、从接入层到存储系统、数据库分库分表案例全面剖析等等,作者不吹牛、不夸张,脚踏实地为你剖析架构如何落地,欢迎免费下载阅读。
《人人都是架构师:分布式系统架构落地与瓶颈突破》非常适用于任何对分布式系统架构感兴趣的架构师、开发人员以及运维人员。相信阅读本书你将会有知其然和知其所以然的畅快感。
为了避免大促场景下峰值流量过大,对系统造成较大负载导致产生雪崩现象,笔者在本书的第2章为大家讲解了大流量限流/消峰案例,让系统的负载压力始终处于一个比较均衡的水位,从而保护系统的稳定运行。笔者首先从限流算法开始讲起,然后分享了业务层面和技术层面等两个维度的流量管制方案。当然,本章的重点是为大家演示如何通过MQ来实现大流量场景下的流量消峰。
人人都是架构师的第3章为大家讲解了分布式配置管理服务案例(配置中心)。尽管目前一些中小型互联网企业仍然将本地配置作为首选,但是当网站发展到一定规模后,继续采用本地配置所暴露的问题将会越来越多。大型网站使用分布式配置管理平台不仅能够实现配置信息的集中式管理、降低维护成本和配置出错率,还能够动态获取/更新配置信息。本章的重点是为大家演示如何基于ZooKeeper构建一个分布式配置管理平台,以及使用淘宝Diamond和百度Disconf系统来实现分布式配置管理服务。
热点数据的读/写操作其实是秒杀、限时抢购场景下最核心的技术难题。在大促场景下,由于峰值流量较大,大量针对同一热卖商品的并发读/写操作一定会导致后端的存储系统产生性能瓶颈,因此第4章为大家讲解了大促场景下热点数据的读/写优化案例。尽管商品信息可以缓存在分布式缓存中,通过集群技术,可以在理论上认为其容量是无限的,但是对于大促场景下的热卖商品来说,由于单价比平时更给力、更具吸引力,因而自然会比平时吸引更大的流量进来;这时同一个Key必然会落到同一个缓存节点上,而分布式缓存在这种情况下一定会出现单点瓶颈,因此笔者为大家演示了如何实施多级Cache方案来防止分布式缓存系统出现单点瓶颈。由于写操作无法直接在缓存中完成,因此大量的并发更新热点数据(库存扣减)都是针对数据库中同一行的——本书以MySQL为例,而这必然会引起大量的线程来相互竞争InnoDB的行锁;并发越大时,等待的线程就越多,这会严重影响数据库的TPS,导致RT线性上升,最终可能引发系统出现雪崩。为了避免数据库沦为瓶颈,笔者为大家演示了如何通过分布式锁、乐观锁在分布式缓存系统中扣减库存、通过抢购限流控制单机并发写流量,以及如何使用阿里开源的AliSQL数据库提升“秒杀”场景性能。
在本书的最后一章,笔者为大家讲解了数据库分库分表案例。本章演示了如何通过分库分表中间件Shark来帮助企业实施分库分表改造,以及分库分表后所带来一系列影响的解决方案,并重点分享了笔者在实际工作中订单业务实施分库分表改造后,应该如何同时满足Buyer和Seller的多维度查询需求。
第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客户端操作Redis 121
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
1、下载并解压,得出pdf文件
2、如果打不开本文件,请务必下载pdf阅读器
3、安装后,在打开解压得出的pdf文件
4、双击进行阅读试读
同类热门
类似软件
热门标签
网友评论0人参与,0条评论
最新排行
获得早起的持续力量pdf4.84M 对于现代社会的大多数人来说,早起已经变成了一项极具挑战性的任务,更别提持之以恒地去实践。那么,如何能够更好地坚持早起呢?在这里,我强烈推荐各位读者阅读一本名为《获得早起的持续力量》的PDF图书。这本书详细地阐述了如何才能更好地坚持早起的方法和策略。
查看小鹿点睛助手使用手册4.8Mpdf扫描版 小鹿点睛助手使用手册是由小鹿推广官方针对360移动竞价量身定做的推广软件指导手册。可以面向用户详细介绍小鹿点睛助手的功能特色,并从产品特性、产品介绍、账户管理、编辑器等角度解释说明如何利用软件进行360移动智能调价,能够实现对360移动竞价完善的流
查看Struts2+Spring3+Hibernate框架技术精讲与整合案例113.46M缪勇pdf扫描版 Java Web技术是最为流行的开发技术之一,以JSP技术为基础,整合Struts 2、Spring 3、Hibernate 4和Ajax技术开发Java Web应用已经成为当今主流的技术体系,但如何才能更好的入门和掌握呢?这里小编推荐阅读Stru
查看海龟交易法则珍藏版电子书PDF版22.2M海龟交易法则珍藏版电子书PDF版是一个网友制作的高质量的电子书,该书由金融界著名的“海龟”实验中的第一名柯蒂斯·费思所编写,它清晰地道出了成功交易的必要条件,一针见血的告诉用户,重要的不是交易系统,而是交易者贯彻交易系统的能力。其次第二个迷人之处在于:用
查看畅阅TXT阅读器(本地小说阅读器)1.15Mv1.0绿色免费版strong>畅阅TXT阅读器是一款优秀的本地小说阅读器,能够快速打开本地TXT文本小说进行阅读,支持自动分章节、自定义字体大小颜色等、自动记录和恢复阅读位置等等,并包含了最新最热的小说推荐,让喜欢小说的朋友更方便。使用说明1、左右方向键可翻页,
查看C#项目开发实战密码146.78M扶松柏pdf扫描版 C#项目开发实战密码是一本C#语言的实战指导学习书籍,由扶松柏编著。本书内容十分丰富,每一章都采用了一个实例,并用这些实例的具体实现流程来教学。在具体讲解每个实例时,都遵循项目的进度来展开,从接到项目到具体开发,直到最后的调试和发布。内容循序渐进,
查看node.js 硬实战115个核心技巧11.1M高清pdf扫描版 node.js 硬实战115个核心技巧是一本能够让你真正学会用好Node高级技术的进阶读物,由美国程序员Alex R.Young和Marc.Harter共同编著。本书作者精心组织了115 个已通过测试的例子,并细致剖析保障这些Node应用良好运行的
查看html5秘籍第2版107.18Mpdf扫描版HTML5不仅仅是一种标记语言,它还指代多种独立的Web标准。但是如何才能学习html5的全部知识呢?小编推荐用户使用html5秘籍第2版,这是一本HTML5语言的学习指导书籍,由美国程序员Matthew MacDonald编著。本书内容丰富,由浅入深,
查看零基础学HTML+CSS(第3版)82.93M张熠pdf扫描版零基础学HTML+CSS(第3版)是一本html+css的全面学习教材,书中详细的介绍了html+css的知识点,先从简单的html语法下手,让读者对网页的信息展现有一个初步的了解,接着又引入了div+css的相关知识,让读者明白网页元素是如何布局的,最
查看循序渐进oracle数据库管理优化与备份恢复72.28M盖国强pdf扫描版 循序渐进oracle,全称叫做循序渐进oracle数据库管理优化与备份恢复,是一本Oracle数据库入门书籍,由Oracle数据库专家盖国强编著,全书内容丰富翔实,继续贯彻了作者“由浅入深、由点到线再及面”的学习方法,作者在写作过程中一直遵循了这个
查看SEO实战指导:知识策略案例(第2版)42.6M扫描版SEO实战指导:知识策略案例(第2版)是一本搜索引擎优化学习教材,由藏锋者和郝永清两人共同编著。全书脉络简单,化繁为简,将纷繁复杂的搜索引擎优化技术(seo)进行提炼和梳理,从理论技术介绍到实际案例操作,进行细致详尽的讲解和分析,让读者很快就可以了解并掌
查看hprose php 用户手册200Kpdf高清版Hprose是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。这里小编提供hprose php 用户手册下载,专为hprose for
查看