《大型网站技术架构:核心原理与案例分析》【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. 基于Spring开发的一个BIO-RPC框架(对新人很友好)

    PART1:先来整体看下项目的构成 其中bio-rpc-core就是所谓的rpc框架 bio-rpc-example-client即所谓的服务调用方(你的项目中想要调用服务的地方) bio-rpc-e ...

  2. C# winform 实现图片轮播

    作为一个C#winform刚刚入门的我  觉得这可能是初学者都会遇到的  我自己也觉得很神奇 首先 窗体里有一个Button按钮,和一个pictureBox 图片框 定义一个线程方法 /// < ...

  3. javascript执行机制

    文的目的就是要保证你彻底弄懂javascript的执行机制,如果读完本文还不懂,可以揍我. 不论你是javascript新手还是老鸟,不论是面试求职,还是日常开发工作,我们经常会遇到这样的情况:给定的 ...

  4. WPF开发的彩票程序(练手好例子) 附源码

    前言 WPF是.NET最新的界面开发库,开发界面非常灵活!但是学习WPF难度也非常大. 应朋友之邀,编写了一个小程序.程序虽小,五脏俱全,WPF开发的灵活性可窥见一斑. 对于新手学习有很好的借鉴意义, ...

  5. 晓莲说-何不原创:如何通过jad把class批量反编译成java文件

    背景:前几天在项目开发的时候遇到一个问题,那就是利用myeclipse编写好的一个项目打包成jar包后上传部署到服务器里,之后本地的项目被自己改来改去出现了一些问题,想着把上传到服务器里面的war包下 ...

  6. leecode -- 3sum Closet

    Given an array S of n integers, find three integers in S such that the sum is closest to a given num ...

  7. windows配置git

    每次要使用git指令的时候都要去打开git bash 操作,太麻烦,要想直接在dos窗口下使用git指令需要再进行如下环境变量配置. 1.系统环境变量path添加:D://programFiles/g ...

  8. PHP7类型约束

    在PHP7之前,函数和类方法不需要声明变量类型,任何数据都可以被传递和返回,导致几乎大部分的调用操作都要判断返回的数据类型是否合格. 为了解决这个问题,PHP7引入了类型声明. 目前有两类变量可以声明 ...

  9. js 深拷贝和浅拷贝

    js 深拷贝和浅拷贝 先举一下项目中遇到的两个例子: 例子1: var json = $.parseJSON(data.data);//data.data是接口返回的值var a = json.cha ...

  10. js 哈希路由原理实现

    在 js 中,有一种方法,可以在不刷新页面的情况下,页面的内容进行变更,ajax 是一种,这里介绍另一种,就是 哈希路由原理 先看一个简单的路由和页面内容关联的例子,要实现两个功能: 1.1. 浏览器 ...