《大型网站技术架构:核心原理与案例分析》【PDF】下载链接:
https://u253469.pipipan.com/fs/253469-230062557

内容简介

本书通过梳理大型网站技术发展历程,剖析大型网站技术架构模式,深入讲述大型互联网架构设计的核心原理,并通过一组典型网站技术架构设计案例,为读者呈现一幅包括技术选型、架构设计、性能优化、Web
安全、系统发布、运维监控等在内的大型网站开发全景视图。

本书不仅适用于指导网站工程师、架构师进行网站技术架构设计,也可用于指导产品经理、项目经理、测试运维人员等了解网站技术架构的基础概念;还可供包括企业系统开发人员在内的各类软件开发从业人员借鉴,了解大型网站的解决方案和开发理念。

目录

第1篇 概述

1 大型网站架构演化 2

1.1 大型网站软件系统的特点 3

1.2 大型网站架构演化发展历程 4

1.2.1 初始阶段的网站架构 4

1.2.2 应用服务和数据服务分离 4

1.2.3 使用缓存改善网站性能 5

1.2.4 使用应用服务器集群改善网站的并发处理能力
6

1.2.5 数据库读写分离 7

1.2.6 使用反向代理和CDN加速网站响应
8

1.2.7 使用分布式文件系统和分布式数据库系统 9

1.2.8 使用NoSQL和搜索引擎
10

1.2.9 业务拆分 11

1.2.10 分布式服务 11

1.3 大型网站架构演化的价值观 13

1.3.1 大型网站架构技术的核心价值是随网站所需灵活应对 13

1.3.2 驱动大型网站技术发展的主要力量是网站的业务发展 13

1.4 网站架构设计误区 14

1.4.1 一味追随大公司的解决方案 14

1.4.2 为了技术而技术 14

1.4.3 企图用技术解决所有问题 14

1.5 小结 15

2 大型网站架构模式 16

2.1 网站架构模式 16

2.1.1 分层 17

2.1.2 分割 18

2.1.3 分布式 18

2.1.4 集群 19

2.1.5 缓存 20

2.1.6 异步 20

2.1.7 冗余 21

2.1.8 自动化 22

2.1.9 安全 23

2.2 架构模式在新浪微博的应用 23

2.3 小结 25

3 大型网站核心架构要素 26

3.1 性能 27

3.2 可用性 28

3.3 伸缩性 29

3.4 扩展性 30

3.5 安全性 30

3.6 小结 31

第2篇 架构

4 瞬时响应:网站的高性能架构 34

4.1 网站性能测试 35

4.1.1 不同视角下的网站性能 35

4.1.2 性能测试指标 36

4.1.3 性能测试方法 39

4.1.4 性能测试报告 41

4.1.5 性能优化策略 41

4.2 Web前端性能优化 42

4.2.1 浏览器访问优化 42

4.2.2 CDN加速 43

4.2.3 反向代理 44

4.3 应用服务器性能优化 45

4.3.1 分布式缓存 45

4.3.2 异步操作 52

4.3.3 使用集群 53

4.3.4 代码优化 54

4.4 存储性能优化 58

4.4.1 机械硬盘vs. 固态硬盘 58

4.4.2 B+树vs.
LSM树 59

4.4.3 RAID vs. HDFS 61

4.5 小结 64

5 万无一失:网站的高可用架构 66

5.1 网站可用性的度量与考核 67

5.1.1 网站可用性度量 67

5.1.2 网站可用性考核 67

5.2 高可用的网站架构 69

5.3 高可用的应用 71

5.3.1 通过负载均衡进行无状态服务的失效转移
72

5.3.2 应用服务器集群的Session管理
73

5.4 高可用的服务 76

5.5 高可用的数据 78

5.5.1 CAP原理 79

5.5.2 数据备份 82

5.5.3 失效转移 84

5.6 高可用网站的软件质量保证 85

5.6.1 网站发布 85

5.6.2 自动化测试 86

5.6.3 预发布验证 87

5.6.4 代码控制 88

5.6.5 自动化发布 90

5.6.6 灰度发布 91

5.7 网站运行监控 91

5.7.1 监控数据采集 92

5.7.2 监控管理 93

5.8 小结 94

6 永无止境:网站的伸缩性架构 95

6.1 网站架构的伸缩性设计 97

6.1.1 不同功能进行物理分离实现伸缩 97

6.1.2 单一功能通过集群规模实现伸缩 98

6.2 应用服务器集群的伸缩性设计
99

6.2.1 HTTP重定向负载均衡 100

6.2.2 DNS域名解析负载均衡 101

6.2.3 反向代理负载均衡 102

6.2.4 IP负载均衡 103

6.2.5 数据链路层负载均衡
104

6.2.6 负载均衡算法 105

6.3 分布式缓存集群的伸缩性设计 106

6.3.1 Memcached分布式缓存集群的访问模型 107

6.3.2 Memcached分布式缓存集群的伸缩性挑战 107

6.3.3 分布式缓存的一致性Hash算法
109

6.4 数据存储服务器集群的伸缩性设计
112

6.4.1 关系数据库集群的伸缩性设计 113

6.4.2 NoSQL数据库的伸缩性设计 117

6.5 小结 119

7 随需应变:网站的可扩展架构 121

7.1 构建可扩展的网站架构 122

7.2 利用分布式消息队列降低系统耦合性
123

7.2.1 事件驱动架构 123

7.2.2 分布式消息队列 124

7.3 利用分布式服务打造可复用的业务平台 126

7.3.1 Web Service与企业级分布式服务 128

7.3.2 大型网站分布式服务的需求与特点 129

7.3.3 分布式服务框架设计 130

7.4 可扩展的数据结构 131

7.5 利用开放平台建设网站生态圈 132

7.6 小结 134

...

更多书单和推荐电子书请关注藏书者的新浪博客http://blog.sina.com.cn/cangshuzhe
《大型网站技术架构:核心原理与案例分析》【PDF】下载链接:
https://u253469.pipipan.com/fs/253469-230062557

更多书单和推荐电子书请关注:
http://zhaozhiyong.cn

《大型网站技术架构:核心原理与案例分析》【PDF】下载的更多相关文章

  1. 《决战大数据:驾驭未来商业的利器》【PDF】下载

    内容简介 大数据时代的来临,给当今的商业带来了极大的冲击,多数电商人无不"谈大数据色变",并呈现出一种观望.迷茫.手足无措的状态.车品觉,作为一名经验丰富的电商人,在敬畏大数据的同 ...

  2. 大数据时代的图表可视化利器——highcharts,D3和百度的echarts

    大数据时代的图表可视化利器——highcharts,D3和百度的echarts https://blog.csdn.net/minidrupal/article/details/42153941   ...

  3. 决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试

    决战大数据之三-Apache ZooKeeper Standalone及复制模式安装及测试 [TOC] Apache ZooKeeper 单机模式安装 创建hadoop用户&赋予sudo权限, ...

  4. 决战大数据之二:CentOS 7 最新JDK 8安装

    决战大数据之二:CentOS 7 最新JDK 8安装 [TOC] 修改hostname # hostnamectl set-hostname node1 --static # reboot now 重 ...

  5. 学习推荐《零起点Python大数据与量化交易》中文PDF+源代码

    学习量化交易推荐学习国内关于Python大数据与量化交易的原创图书<零起点Python大数据与量化交易>. 配合zwPython开发平台和zwQuant开源量化软件学习,是一套完整的大数据 ...

  6. asp.net大数据导出execl实现分开压缩并下载

    asp.net大数据导出execl实现分开压缩并下载 /// <summary> /// 导出数据到EXCEL 多个表的 /// </summary> /// <para ...

  7. 基于Greenplum Hadoop分布式平台的大数据解决方案及商业应用案例剖析

    随着云计算.大数据迅速发展,亟需用hadoop解决大数据量高并发访问的瓶颈.谷歌.淘宝.百度.京东等底层都应用hadoop.越来越多的企 业急需引入hadoop技术人才.由于掌握Hadoop技术的开发 ...

  8. 关于大数据时代传统商业存储的思考: 中心存储 VS 分布式存储

    尊重原创,转载请注明出处:http://anzhan.me ; http://blog.csdn.net/anzhsoft 今天和我们部门的老大1*1, 大家面对面沟通了一下到新的项目组的想法.而且也 ...

  9. cloudera cdh6.3 离线安装 经典大数据平台视频教程(含网盘下载地址)

    cdh6.3企业级大数据视频教程 链接:https://pan.baidu.com/s/1bLGrIwzpFQB-pQRb6KOmNg 提取码:i8h8 系统和软件版本1,操作系统:Centos7.6 ...

  10. 大数据之路week06--day01(VMware的下载与安装、安装CentOS)

    好了,从今天开始就开始正式的进入大数据道路的轨道上了,当然了,Java 也是需要不断地在日后进行反复地学习,熟练掌握.(这里我要说一下,Java种还有一些I/O流.Lambda表达式和一些常用工具类有 ...

随机推荐

  1. Nytro MegaRaid

    Nytro MegaRaid简介 Dell R720xd,内存64G ,12块 SAS Dell R510xd,内存48G ,12块 SAS   SSD+SAS   SSD对于用户透明   raid会 ...

  2. Composer笔记

    安装 windows中安装Composer 一般来说,windows下安装composer有两种办法,一种是直接下载并运行Composer-Setup.exe,这种方法在中国似乎很难完成安装.另一种就 ...

  3. 线程&进程&协程

    线程 线程是应用程序中工作的最小单元,它被包含在进程之中,是进程中的实际运作单位.一条线程指的是进程中一个单一顺序的控制流,一个进程中可以并发多个线程,每条线程并行执行不同的任务.Threading用 ...

  4. [树莓派(raspberry pi)] 01、在linux环境下给树莓派安装系统及入门各种资料

    1.预准备 进入帮助页面https://www.raspberrypi.org/help/,可以直接看到GET START WITH PASPBERRY PI,点击进入: 接下来会引导你检查配件是否齐 ...

  5. mysql数据库相关知识

    什么是数据库?                数据库(Database)是按照数据结构来组织.存储和管理数据的建立在计算机存储设备上的仓库.(来自:百度) 什么是sql? 结构化查询语言(Struct ...

  6. MD5摘要算法简析

    1 MD5简介 1.1  概述 MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又译摘要算法.哈希算法),主 ...

  7. 大神博客链接系列---C#SubSonic3.0搭建ORM

    一.C#框架 C#ORM框架: SubSonic3.0制作ORM--- http://www.cnblogs.com/EmptyFS/p/3659679.html

  8. SSM Spring+SpringMVC+mybatis+maven+mysql环境搭建

    SSM Spring+SpringMVC+mybatis+maven环境搭建 1.首先右键点击项目区空白处,选择new->other..在弹出框中输入maven,选择Maven Project. ...

  9. 如何在README.md文件中添加图片

    原文链接:https://www.cnblogs.com/hongmaju/p/6873720.html 1.在github上的仓库建立一个存放图片的文件夹,文件夹名字随意.如:img-folder ...

  10. gitlab一键安装+配置(备份+LADP认证)

    gitlab一键安装+配置(备份+LADP认证) #gitlab一键安装 #centos6 mini, GitLab社区版 #参考官方最新文档 https://www.gitlab.com.cn/in ...