分布式设计实践+人人都是架构师:分布式架构落地与瓶颈突破+ 分布式常用技术及案例分析 分pdf下载

分布式设计实践+人人都是架构师:分布式架构落地与瓶颈突破+ 分布式常用技术及案例分析 分百度网盘pdf下载

作者:
简介:分布式设计实践+人人都是架构师:分布式架构落地与瓶颈突破+ 分布式常用技术及案例分析 分
出版社:
出版时间:
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品名称:分布式设计实践


ISBN编号: 9787115519450书名: 分布式设计实践


作者: 李庆旭出版时间: 2019年11月定价: 59.00元


书名: 分布式设计实践开本: 16开是否是套装: 否出版社名称: 人民邮电出版社 


内容介绍


本书对近年来涌现出的各种主流分布式技术做了简要介绍和全面梳理。本书将分布式中涉及的技术分为前端构造技术、分布式中间件技术和分布式存储技术三大类,对每类技术都详细介绍了其原理、设计思想和架构,以及相关应用场景。此外,本书还总结了分布式的构建思想,并分别对业界几个非常成功的大型分布式(谷歌搜索、网电商平台、阿里云公有云平台、领英社交平台)进行了案例研究。

目录


目 录


部分 分布式概述


第 1章 分布式概述 3


1.1 分布式的组成 4


1.2 分布式协调组件 6


1.3 分布式存储 7


1.4 分布式计算 9


1.4.1 批处理分布式计算 9


1.4.2 流处理分布式计算 10


1.4.3 混合 11


1.5 分布式中节点之间的关系 11


*二部分 分布式的前端构造技术


第 2章 Web框架的实现原理 15


2.1 Web框架简介 16


2.2 PHP Web MVC框架的工作原理 17


2.2.1 框架的入口 17


2.2.2 URL到控制器的映射 17


2.2.3 如何将模型传给视图 18


2.3 Java Web MVC框架原理 19


2.3.1 Java Servlet API 3.0 19


2.3.2 框架的入口 20


2.3.3 Spring 4.0框架 22


2.3.4 Java EE 29


2.3.5 Spring与Java EE的比较 30


2.4 Go语言Web开发 30


2.4.1 Go语言简介 31


2.4.2 Go语言Web开发 32


第3章 反向代理与负载均衡 33


3.1 反向代理 33


3.1.1 Nginx 34


3.1.2 Tengine 35


3.1.3 Varnish 35


3.2 负载均衡 36


3.2.1 DNS负载均衡 36


3.2.2 硬件负载均衡 36


3.2.3 软件负载均衡 37 


第三部分 分布式中间件


第4章 分布式同步服务中间件 41


4.1 分布式一致性协议 42


4.2 分布式同步服务中间件简介 43


4.3 分布式同步服务中间件的实现原理 44


4.3.1 架构 44


4.3.2 如何消除单点故障 45


4.3.3 Chubby对外提供的API 45


4.3.4 数据库 46


4.3.5 Chubby使用示例:集群的主服务器选举 46


4.4 其他分布式同步服务中间件 46


4.4.1 Linux心跳机制 47


4.4.2 ZooKeeper 47


4.4.3 iNexus 48


4.5 分布式同步服务的应用 48


第5章 关系型数据库访问中间件 53


5.1 数据库访问中间件的形式 54


5.2 数据库访问中间件的工作原理 55


5.3 **名的数据库访问中间件 56


5.3.1 MySQL代理 57


5.3.2 Cobar 58


5.3.3 TDDL 59


5.3.4 MyCAT 59


5.3.5 Heisenberg 59


5.4 数据库访问中间件的应用 60


5.4.1 使用MySQL代理实现读写数据库分离 60


5.4.2 研发自己的数据库中间件,实现MySQL的分库分表 60


第6章 分布式服务调用中间件 63


6.1 分布式服务调用中间件简介 63


6.2 分布式服务调用中间件的实现原理 64


6.2.1 Dubbo的架构 64


6.2.2 Dubbo中各组件的交互 65


6.2.3 Dubbo的实现及特点 66


6.2.4 Dubbox 66


6.3 其他分布式服务调用中间件 67


6.3.1 Protocol Buffers 67


6.3.2 gRPC 68


6.3.3 Thrift 69


6.3.4 Motan 72


6.3.5 sofa-pbrpc 73


6.4 分布式服务调用中间件的应用 73


第7章 分布式消息服务中间件 75


7.1 分布式消息服务中间件简介 75


7.2 分布式消息服务中间件的实现原理 77


7.2.1 消息模型 77


7.2.2 架构 77


7.3 其他分布式消息服务中间件 79


7.3.1RocketMQ 79


7.3.2 Apache Pulsar 80


7.4 分布式消息服务中间件的应用 82


7.4.1 秒杀中使用Kafka以削平峰值流量 83


7.4.2 使用Kafka流实现消息推送 83


第8章 分布式跟踪服务中间件 85


8.1 分布式跟踪服务中间件的实现原理 85


8.2 其他分布式跟踪服务中间件 88


8.2.1 Twitter的Zipkin 88


8.2.2 Pinpoint 90


8.2.3的EagleEye 92


8.3 分布式跟踪服务中间件的应用 92 


第四部分 分布式存储技术


第9章 分布式文件 95


9.1 分布式文件的实现原理 96


9.2 其他分布式文件 102


9.3 分布式文件的应用 104


第 10章 基于键值对的NoSQL数据库 107


10.1 NoSQL数据库的CAP权衡 108


10.2 基于键值对的NoSQL数据库的实现原理 108


10.2.1 谷歌的LevelDB 108


10.2.2的Tair 111


10.2.3的Dynamo 111


10.3 其他基于键值对的NoSQL数据库 115


10.3.1 Memcached 115


10.3.2 Redis 116


10.3.3 Berkeley DB 117


10.3.4 Facebook RocksDB 117


10.3.5 Riak 118


10.3.6 Voldemort 118


10.4 基于键值对的NoSQL数据库的应用 118


10.4.1 使用Redis缓存会话数据 118


10.4.2 使用Berkeley DB/LevelDB/RocksDB构建自己的分布式存储 119


10.4.3 使用Berkeley DB/LevelDB/RocksDB作为本地数据库 119


第 11章 基于列的NoSQL数据库 121


11.1 基于列的NoSQL数据库的实现原理 121


11.1.1 数据模型 121


11.1.2 架构 124


11.2 其他基于列的NoSQL数据库 126


11.2.1 Apache HBase 126


11.2.2 Apache Cassandra 127


11.2.3 Baidu Tera 128


11.3 基于列的NoSQL数据库的应用 128


11.3.1 HBase用于数据分析 128


11.3.2 HBase用于存储呼叫记录 129


第 12章 基于文档的NoSQL数据库 131


12.1 基于文档的NoSQL数据库的实现原理 131


12.1.1 数据模型 131


12.1.2 自动分片 132


12.1.3 副本 132


12.1.4 索引 133


12.1.5 查询路由 133


12.2 其他基于文档的NoSQL数据库 133


12.2.1 CouchDB 133


12.2.2 RethinkDB 134


12.3 基于文档的NoSQL数据库的应用 135


第 13章 其他NoSQL数据库 137


13.1 基于图的NoSQL数据库Neo4j 138


13.1.1 数据模型 138


13.1.2 图的存储 138


13.1.3 高可用性 139


13.1.4 水平扩展 139


13.2 多数据模型NoSQL数据库OrientDB 139


13.2.1 基本概念 140


13.2.2 图的表示 140


13.2.3 节点与集群 140


13.2.4 分片 141


13.2.5 ACID支持 141


13.2.6 CAP的权衡 142


13.2.7 集群配置信息的管理 142


13.3 时间序列NoSQL数据库 142


第 14章 NewSQL数据库 143


14.1 NewSQL和CAP理论 144


14.2 采用新架构的NewSQL 145


14.2.1 谷歌的Megastore 145


14.2.2 谷歌的Spanner 146


14.2.3 谷歌的F1 147


14.2.4的OceanBase 148


14.2.5 其他采用新架构的NewSQL数据库 152 


第五部分 分布式的构建思想


第 15章 云化 157


15.1 云化的技术基础 157


15.1.1 虚拟机技术 157


15.1.2 容器技术 159


15.2 公有云能提供什么 159


15.3 云化对软件架构的要求 161


第 16章 分布式的构建思想 163


16.1都可能失败与冗余的思想 163


16.1.1 如何避免单点故障 164


16.1.2 避免单点故障的具体做法 165


16.2 水平而不是垂直扩展的思想 165


16.2.1 数据的水平扩展 166


16.2.2 服务的水平扩展 167


16.2.3 数据中心的水平扩展 167


16.3 尽可能简单的思想 168


16.4 实用主义的思想 169


16.4.1 搜索引擎作为查询工具使用 169


16.4.2的OceanBase的架构 169


16.4.3 根据需要选择*适合的开发工具和开发语言 170


16.4.4 根据需要选择不同的存储 170


16.5 异步化以解耦并削平峰值 170


16.6 *终一致性的思想 171


16.7 微服务的思想 171


16.8 MapReduce的思想 172


16.9 服务跟踪的思想 172


16.10 资源池化的思想 173 


第六部分 大型分布式案例研究及分析


第 17章 大型分布式案例研究 177


17.1 案例研究之谷歌搜索 177


17.2 案例研究之网 182


17.3 案例研究之阿里云 185


17.4 案例研究之领英 189


第 18章 关于分布式设计的思考 197


18.1 大型互联网公司架构的共性 197


18.2 为何大型互联网公司的架构如此相似 198


18.3 关于分布式监控 199


18.4 Linux调用epoll() 200


18.5 关于插件设计模式的实现 201


18.5.1 C/C++语言的动态库形式的实现 202


18.5.2 Java语言的插件模式实现 203


18.5.3 采用专用语言的插件模式实现 205


18.6 关于分布式服务调用中间件的实现 205


18.7 动态链接还是静态链接 206


18.8 无所不用其极的压榨性能手段 206


18.8.1 编译后代码的原生态化 206


18.8.2 定制的Linux内核 207


18.8.3 定制的Java虚拟机 208


18.8.4 定制的MySQL 208


参考文献 209


后记 211 





作者介绍


李庆旭 1999 年北京工业大学计算机系硕士毕业。曾先后就职于华为、北电网络、微软、CA、Symantec/Veritas等国内外知名企业,担任过软件开发工程师、项目经理、团队技术负责人等职务。参与研发过的产品有电信网管软件、微软拼音输入法、微软SharePoint、微软Office 365、CA Clarity项目管理软件等。对软件技术有着浓厚的兴趣,常于工作之余涉猎软件的多个领域,如桌面操作、移动操作、分布式技术、人工智能、机器学习等。



基本信息

书名:人人都是架构师:分布式架构落地与瓶颈突破

定价:69.00元

作者:高翔龙 著

出版社:电子工业出版社

出版日期:2017-05-01

ISBN:9787121312380

字数:220000

页码:200

版次:1

装帧:平装-胶订

开本:16开

商品重量:

编辑




1、货真价实的互联网场景下网站架构演变过程中核心技术难题的解决方案;
2、来源于作者真实经历的生产案例,网站应对高并发、大流量的应急宝典;
3、分布式服务案例全面剖析,为大家讲解如何构建一个分布式调用跟踪;
4、大流量限流/消峰案例全面剖析,将流量尽可能挡在上游,避免对交易产生较大冲击;
5、分布式配置管理服务案例全面剖析,为大家讲解如何构建集中式资源配置中心;
6、限时抢购、场景下,热点数据的读/写优化案例;
7、数据库分库分表案例全面剖析,为大家讲解如何提升关系型数据库的并行处理能力和检索效率。
每一章都是重点,每一章都是解决方案
8、理论有,但你更需要的是技术难题的解决方案;
9、本书文字不枯燥、互联网味儿十足;
10、网站架构是简单和清晰的,而不是炫技般的复杂化,解决问题采用*直接的方式直击要害才是*见效的;
11、从接入层到存储,本书涉及全面;
12、毫无保留地阐述了作者多年在互联网企业的架构设计经验;
13、一本从实战出发的经典作品;
14、不吹牛、不夸张,脚踏实地为你剖析架构如何落地。

目录




暂无相关内容


暂无相关内容

内容提要




本书注重网站技术架构方案的落地,以及实战实施。本书不仅会从宏观的角度去阐述电商网站的架构设计,更重要的是,会结合笔者实际的工作经验,深入剖析电商*容易出现瓶颈的细节,并提供可实施方案。其中独特内容有:利用mq的消峰;大秒redis cluster的单点瓶颈;关系型数据库之sharding改造等。

文摘




[Abstract1]

作者介绍




高翔龙
杭州云集微店架构师,基础架构组负责人,负责基础技术平台的架构设计和中间件研发等工作,技术书籍《Java虚拟机精讲》作者,热衷于开源技术,常年游走在Github上。

本信息

书名:分布式常用技术及案例分析

定价:99.00元

作者:柳伟卫 编著

出版社:电子工业出版社

出版日期:2017-01-01

ISBN:9787121307713

字数:

页码:

版次:

装帧:平装-胶订

开本:16开

商品重量:

内容提要




本书分为部分,即分布式基础理论、分布式常用技术以及经典的分布式案例分析。*部分主要介绍分布式基础理论知识,总结一些在设计分布式时需要考虑的范式、知识点以及可能会面临的问题,其中括线程、通信、一致性、容错性、CAP 理论、安全性和并发等相关内容;同时讲述分布式的常见架构体系,其中也括*近比较火的RESTful 风格架构、微服务、容器技术等。第二部分主要列举了在分布式应用中经常用到的一些主流技术,并介绍这些技术的作用和用法;这些技术涵盖了分布式消息服务、分布式计算、分布式存储、分布式监控、分布式版本控制、RESTful、微服务、容器等领域的内容。第三部分选举了以*网和 Twitter 为代表的外知名互联网企业的分布式案例,分析其架构设计以及演变过程;这部分相当于是对第二部分零散的技术点做一个“串烧”,让读者可以结合技术的理论,看到实战的效果。

作者介绍




多年软件开发管理及架构经验。负责过多个省、*分布式的设计与研发,也负责过多个项目的微服务架构的技术改造,在实际工作中,积累了大量的微服务架构经验。

目录




目 录


章 分布式基础知识1
1.1 概述2
1.1.1 什么是分布式2
1.1.2 集中式VS.分布式3
1.1.3 如何设计分布式4
1.1.4 分布式所面临的挑战5
1.2 线程6
1.2.1 什么是线程6
1.2.2 进程和线程7
1.2.3 编程语言中的线程对象8
1.2.4 SimpleThreads示例11
1.3 通信14
1.3.1 网络基础知识14
1.3.2 网络I/O模型的演进19
1.3.3 远程过程调用(RPC)33
1.3.4 面向消息的通信41
1.4 一致性43
1.4.1 以数据为中心的一致性模型44
1.4.2 以客户为中心的一致性45
1.5 容错性46
1.5.1 基本概念46
1.5.2 故障分类47
1.5.3 使用冗余来掩盖故障48
1.5.4 分布式提交48
1.6 CAP理论52
1.6.1 什么是CAP理论52
1.6.2 为什么说CAP只能三选二53
1.6.3 CAP常见模型55
1.6.4 CAP的意义56
1.6.5 CAP发展56
1.7 安全性57
1.7.1 基本概念58
1.7.2 加密算法60
1.7.3 安全通道63
1.7.4 访问控制72
1.8 并发74
1.8.1 线程与并发75
1.8.2 并发与并行75
1.8.3 并发带来的76
1.8.4 同步(Synchronization)78
1.8.5 原子访问(Atomic Access)83
第2章 分布式架构体系85
2.1 基于对象的体系结构86
2.1.1 分布式对象86
2.1.2 微软DCOM(COM )87
2.1.3 CORBA88
2.1.4 Java RMI90
2.2 面向服务的架构(SOA)93
2.2.1 架构VS.标准94
2.2.2 SOA的基本概念95
2.2.3 基于Web Services的SOA97
2.2.4 SOA的演变112
2.3 REST风格的架构112
2.3.1 什么是REST112
2.3.2 REST有哪些特征113
2.3.3 Java实现REST的例子115
2.3.4 REST API实践125
2.4 微服务架构(MSA)128
2.4.1 什么是MSA128
2.4.2 MSA VS. SOA130
2.4.3 何时采用MSA134
2.4.4 如何构建微服务135
2.5 容器技术139
2.5.1 虚拟化技术139
2.5.2 容器VS.虚拟机139
2.5.3 基于容器的持续部署142
2.6 Serverless架构149
2.6.1 什么是Serverless架构150
2.6.2 Serverless典型的应用场景151
2.6.3 常见的Serverless框架153
2.6.4 Serverless架构原则155
2.6.5 例子:使用Serverless实现游戏同服157
第3章 分布式消息服务164
3.1 Apache ActiveMQ165
3.1.1 Apache ActiveMQ简介165
3.1.2 Apache ActiveMQ安装配置166
3.1.3 例子:producer-consumer173
3.1.4 例子:使用JMX来监控ActiveMQ174
3.1.5 例子:使用Java实现producer-consumer176
3.2 RabbitMQ180
3.2.1 RabbitMQ简介180
3.2.2 RabbitMQ安装配置181
3.2.3 例子:Work Queues185
3.2.4 例子:Publish/Subscribe191
3.2.5 例子:Routing195
3.2.6 例子:Topics200
3.2.7 例子:RPC204
3.3 RocketMQ2
3.3.1 RocketMQ简介2
3.3.2 RocketMQ安装配置213
3.3.3 例子:使用Java实现producer-consumer214
3.3.4 RocketMQ实践219
3.4 Apache Kafka223
3.4.1 Apache Kafka简介224
3.4.2 Apache Kafka的核心概念225
3.4.3 Apache Kafka的使用场景228
3.4.4 Apache Kafka的安装、配置、使用229
第4章 分布式计算236
4.1 MapReduce237
4.1.1 MapReduce简介237
4.1.2 MapReduce的编程模型238
4.1.3 MapReduce的实现243
4.1.4 MapReduce的使用技巧248
4.2 Apache Hadoop251
4.2.1 Apache Hadoop简介252
4.2.2 Apache Hadoop核心组件253
4.2.3 Apache Hadoop单节点上的安装配置254
4.2.4 Apache Hadoop集群上的安装配置258
4.2.5 例子:词频统计WordCount程序267
4.3 Apache Spark272
4.3.1 Apache Spark简介272
4.3.2 Apache Spark与Apache Hadoop的关系274
4.3.3 Apache Spark 2.0的新特性275
4.3.4 Apache Spark的安装和使用279
4.3.5 Apache Spark集群模式280
4.4 Apache Mesos282
4.4.1 Apache Mesos简介283
4.4.2 Apache Mesos的安装、使用285
4.4.3 设计高可用的Mesos framework289
第5章 分布式存储296
5.1 Bigtable297
5.1.1 Bigtable简介297
5.1.2 Bigtable的数据模型298
5.1.3 Bigtable的实现300
5.1.4 Bigtable的性能优化304
5.2 Apache HBase308
5.2.1 Apache HBase简介308
5.2.2 Apache HBase基本概念3
5.2.3 Apache HBase架构318
5.2.4 Apache HBase的安装、配置、使用332
5.2.5 本地伪分布式336
5.2.6 分布式338
5.3 Apache Cassandra342
5.3.1 Apache Cassandra简介342
5.3.2 Apache Cassandra的应用场景345
5.3.3 Apache Cassandra的架构、数据模型346
5.3.4 用于配置Apache Cassandra的核心组件347
5.3.5 Apache Cassandra的安装、配置、使用349
5.4 Memcached352
5.4.1 Memcached简介352
5.4.2 Memcached的架构353
5.4.3 Memcached的安装、使用355
5.4.4 Memcached客户端358
5.5 Redis370
5.5.1 Redis简介370
5.5.2 Redis的下载、安装、使用372
5.5.3 Redis的数据类型及抽象372
5.6 MongoDB392
5.6.1 MongoDB简介392
5.6.2 MongoDB的安装、配置、运行394
5.6.3 MongoDB核心概念401
5.6.4 MongoDB的数据模型406
5.6.5 示例:Java连接MongoDB420
第6章 分布式监控422
6.1 Nagios423
6.1.1 Nagios简介423
6.1.2 Nagios的安装、使用424
6.1.3 Nagios监控428
6.1.4 Nagios插件446
6.2 Zabbix448
6.2.1 Zabbix简介449
6.2.2 安装Zabbix451
6.2.3 Zabbix对于容器的支持460
6.2.4 Zabbix基本概念463
6.3 Consul474
6.3.1 Consul简介475
6.3.2 Consul架构476
6.3.3 Consul的安装和使用478
6.3.4 Consul agent492
6.4 ZooKeeper501
6.4.1 ZooKeeper简介501
6.4.2 ZooKeeper的安装和使用505
6.4.3 ZooKeeper内部工作原理509
6.4.4 例子:ZooKeeper实现barrier和producer-consumer queue514
第7章 分布式版本控制522
7.1 Bazaar523
7.1.1 Bazaar简介523
7.1.2 Bazaar的核心概念525
7.1.3 Bazaar的安装526
7.1.4 Bazaar的使用528
7.2 Mercurial533
7.2.1 Mercurial简介533
7.2.2 Mercurial的核心概念533
7.2.3 Mercurial的安装537
7.2.4 Mercurial的使用538
7.3 Git545
7.3.1 Git简介545
7.3.2 Git的安装546
7.3.3 Git的基础概念548
7.3.4 Git的使用551
第8章 RESTful API、微服务及容器技术578
8.1 Jersey579
8.1.1 Jersey简介579
8.1.2 Jersey的模块和依赖580
8.1.3 JAX-RS核心概念583
8.1.4 例子:用SSE构建实时Web应用595
8.2 Spring Boot603
8.2.1 Spring Boot简介603
8.2.2 Spring Boot的安装604
8.2.3 Spring Boot的使用6
8.2.4 Spring Boot的属性与配置615
8.3 Docker620
8.3.1 Docker简介621
8.3.2 Docker的特性621
8.3.3 Docker的概念和原理622
8.3.4 Docker Engine的安装628
8.3.5 Docker的使用633
第9章网:“”神话的636
9.1 从LAMP到Java平台的转变637
9.1.1网的诞生与发展637
9.1.2 “平民英雄”LAMP架构638
9.1.3 数据库更改为Oracle639
9.1.4 向Java平台转变642
9.2 坚定不移地走“去IOE”的道路643
9.2.1 使用小型机、EMC存储644
9.2.2 考虑“去IOE”644
9.2.3 如何去“I”646
9.2.4 如何去“O”649
9.2.5 如何去“E”650
9.3 打造云计算,决战“”653
9.3.1 “大”战略简介653
9.3.2 成立阿里云,专注云计算656
9.3.3 利用大数据优化物流660
9.3.4 技术是决胜“”的关键661
第章 Twitter:实时信息传递的664
.1 缓存,让响应更快665
.1.1 Twitter的诞生665
.1.2 RoR的蛮荒时代666
.1.3 使用Memcached667
.2 服务拆分与治理668
.2.1 关系数据库不是灵668
.2.2拆分,平台转换670
.2.3 Finagle670
.3 抗击流量的洪流672
.3.1 业务的重新设计673
.3.2 Storm处理实时的大数据675
.3.3 从Storm到Heron676
参考文献680




^_^:bace09622cb2e6b90e86e8fe3f13f333