网站颜色:

亿级流量网站架构核心技术:跟开涛学搭建高可用高并发系统.

  • 产品名称:亿级流量网站架构核心技术...
  • 书名:亿级流量网站架构核心技术书籍
  • 定价:178.00元
  • 是否是套装:是

读者对象:

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

目录:

第 1 部分 概述 ......................................................................................... 1

1 交易型系统设计的一些原则 .................................................................................... 2

1.1 高并发原则 ................................................................................................................ 3

1.1.1 无状态 ............................................................................................................ 3

1.1.2 拆分 ................................................................................................................ 3

1.1.3 服务化 ............................................................................................................ 4

1.1.4 消息队列 ........................................................................................................ 4

1.1.5 数据异构 ........................................................................................................ 6

1.1.6 缓存银 ........................................................................................................ 7

1.1.7 并发化 ............................................................................................................ 9

1.2 高可用原则 .............................................................................................................. 10

1.2.1 降级 .............................................................................................................. 10

1.2.2 限流 .............................................................................................................. 11

1.2.3 切流量 .......................................................................................................... 12

1.2.4 可回滚 .......................................................................................................... 12

1.3 业务设计原则 .......................................................................................................... 12

1.3.1 防重设计 ...................................................................................................... 13

1.3.2 幂等设计 ...................................................................................................... 13

1.3.3 流程可定义 .................................................................................................. 13

1.3.4 状态与状态机 .............................................................................................. 13

1.3.5 后台系统操作可反馈 .................................................................................. 14

1.3.6 后台系统审批化 .......................................................................................... 14

1.3.7 文档和注释 .................................................................................................. 14

XXIV | 亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统

1.3.8 备份 .............................................................................................................. 14

1.4 总结 ........................................................................................................................... 14

第 2 部分 高可用 ..................................................................................... 17

2 负载均衡与反向代理 ............................................................................................ 18

2.1 upstream 配置 ........................................................................................................... 20

2.2 负载均衡算法 ........................................................................................................... 21

2.3 失败重试 ................................................................................................................... 23

2.4 健康检查 ................................................................................................................... 24

2.4.1 TCP 心跳检查 .............................................................................................. 24

2.4.2 HTTP 心跳检查 ........................................................................................... 24

2.5 其他配置 ................................................................................................................... 25

2.5.1 域名上游服务器 .......................................................................................... 25

2.5.2 备份上游服务器 .......................................................................................... 26

2.5.3 不可用上游服务器 ...................................................................................... 26

2.6 长连接 ....................................................................................................................... 26

2.7 HTTP 反向代理示例 ................................................................................................ 29

2.8 HTTP 动态负载均衡 ................................................................................................ 30

2.8.1 Consul+Consul-template .............................................................................. 31

2.8.2 Consul+OpenResty ....................................................................................... 35

2.9 Nginx 四层负载均衡 ................................................................................................ 39

2.9.1 静态负载均衡 .............................................................................................. 39

2.9.2 动态负载均衡 .............................................................................................. 41

参考资料 ............................................................................................................................ 42

3 隔离术 ................................................................................................................. 43

3.1 线程隔离 ................................................................................................................... 43

3.2 进程隔离 ................................................................................................................... 45

3.3 集群隔离 ................................................................................................................... 45

3.4 机房隔离 ................................................................................................................... 46

3.5 读写隔离 ................................................................................................................... 47

目录 | XXV

3.6 动静隔离 .................................................................................................................. 48

3.7 爬虫隔离 .................................................................................................................. 49

3.8 热点隔离 .................................................................................................................. 50

3.9 资源隔离 .................................................................................................................. 50

(咨询特价) 使用 Hystrix 实现隔离 ........................................................................................... 51

(咨询特价).1 Hystrix 简介 ............................................................................................... 51

(咨询特价).2 隔离示例 .................................................................................................... 52

(咨询特价) 基于 Servlet 3 实现请求隔离 ................................................................................ 56

(咨询特价).1 请求解析和业务处理线程池分离 ............................................................ 57

(咨询特价).2 业务线程池隔离 ........................................................................................ 58

(咨询特价).3 业务线程池监控/运维/降级 ...................................................................... 58

(咨询特价).4 如何使用 Servlet 3 异步化 ........................................................................ 59

(咨询特价).5 一些 Servlet 3 异步化压测数据 ................................................................ 64

4 限流详解 .............................................................................................................. 66

4.1 限流算法 .................................................................................................................. 67

4.1.1 令牌桶算法 .................................................................................................. 67

4.1.2 漏桶算法 ...................................................................................................... 68

4.2 应用级限流 .............................................................................................................. 69

4.2.1 限流总并发/连接/请求数 ............................................................................ 69

4.2.2 限流总资源数 .............................................................................................. 70

4.2.3 限流某个接口的总并发/请求数 ................................................................. 70

4.2.4 限流某个接口的时间窗请求数 .................................................................. 70

4.2.5 平滑限流某个接口的请求数 ...................................................................... 71

4.3 分布式限流 .............................................................................................................. 75

4.3.1 Redis+Lua 实现 ........................................................................................... 76

4.3.2 Nginx+Lua 实现 .......................................................................................... 77

4.4 接入层限流 .............................................................................................................. 78

4.4.1 ngx_http_limit_conn_module ...................................................................... 78

4.4.2 ngx_http_limit_req_module ......................................................................... 80

4.4.3 lua-resty-limit-traffic .................................................................................... 88

4.5 节流 .......................................................................................................................... 90

XXVI | 亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统

4.5.1 throttleFirst/throttleLast ................................................................................ 90

4.5.2 throttleWithTimeout ...................................................................................... 91

参考资料 ............................................................................................................................ 92

5 降级特技 .............................................................................................................. 93

5.1 降级预案 ................................................................................................................... 93

5.2 自动开关降级 ........................................................................................................... 95

5.2.1 超时降级 ...................................................................................................... 95

5.2.2 统计失败次数降级 ...................................................................................... 95

5.2.3 故障降级 ...................................................................................................... 95

5.2.4 限流降级 ...................................................................................................... 95

5.3 人工开关降级 ........................................................................................................... 96

5.4 读服务降级 ............................................................................................................... 96

5.5 写服务降级 ............................................................................................................... 97

5.6 多级降级 ................................................................................................................... 98

5.7 配置中心 ................................................................................................................. 100

5.7.1 应用层 API 封装 ........................................................................................ 100

5.7.2 使用配置文件实现开关配置 .................................................................... 101

5.7.3 使用配置中心实现开关配置 .................................................................... 102

5.8 使用 Hystrix 实现降级 ........................................................................................... 106

5.9 使用 Hystrix 实现熔断 ........................................................................................... 108

5.9.1 熔断机制实现 ............................................................................................ 108

5.9.2 配置示例 .................................................................................................... 112

5.9.3 采样统计 .................................................................................................... 113

6 超时与重试机制 .................................................................................................. 117

6.1 简介 ......................................................................................................................... 117

6.2 代理层超时与重试 ................................................................................................. 119

6.2.1 Nginx .......................................................................................................... 119

6.2.2 Twemproxy ................................................................................................. 126

6.3 Web 容器超时 ......................................................................................................... 127

6.4 中间件客户端超时与重试 ..................................................................................... 128

目录 | XXVII

6.5 数据库客户端超时................................................................................................. 131

6.6 NoSQL 客户端超时 ............................................................................................... 134

6.7 业务超时 ................................................................................................................ 135

6.8 前端 Ajax 超时 ....................................................................................................... 135

6.9 总结 ........................................................................................................................ 136

(咨询特价) 参考资料 .............................................................................................................. 137

7 回滚机制 ............................................................................................................ 139

7.1 事务回滚 ................................................................................................................ 139

7.2 代码库回滚 ............................................................................................................ 140

7.3 部署版本回滚 ........................................................................................................ 141

7.4 数据版本回滚 ........................................................................................................ 142

7.5 静态资源版本回滚................................................................................................. 143

8 压测与预案 ......................................................................................................... 145

8.1 系统压测 ................................................................................................................ 145

8.1.1 线下压测 .................................................................................................... 146

8.1.2 线上压测 .................................................................................................... 146

8.2 系统优化和容灾 .................................................................................................... 147

8.3 应急预案 ................................................................................................................ 148

第 3 部分 高并发 .................................................................................. 153

9 应用级缓存 ......................................................................................................... 154

9.1 缓存简介 ................................................................................................................ 154

9.2 缓存命中率 ............................................................................................................ 155

9.3 缓存回收策略 ........................................................................................................ 155

9.4 Java 缓存类型 ........................................................................................................ 156

9.4.1 堆缓存 ........................................................................................................ 158

9.4.2 堆外缓存 .................................................................................................... 161

9.4.3 磁盘缓存 .................................................................................................... 162

9.4.4 分布式缓存 ................................................................................................ 163

XXVIII | 亿级流量网站架构核心技术——跟开涛学搭建高可用高并发系统

9.4.5 多级缓存 .................................................................................................... 166

9.5 应用级缓存示例 ..................................................................................................... 167

9.5.1 多级缓存 API 封装 .................................................................................... 167

9.5.2 NULL Cache ............................................................................................... 170

9.5.3 强制获取 新数据 .................................................................................... 170

9.5.4 失败统计 .................................................................................................... 171

9.5.5 延迟报警 .................................................................................................... 171

9.6 缓存使用模式实践 ................................................................................................. 172

9.6.1 Cache-Aside ................................................................................................ 173

9.6.2 Cache-As-SoR ............................................................................................ 174

9.6.3 Read-Through ............................................................................................. 174

9.6.4 Write-Through ............................................................................................ 176

9.6.5 Write-Behind............................................................................................... 177

9.6.6 Copy Pattern ............................................................................................... 181

9.7 性能测试 ................................................................................................................. 181

9.8 参考资料 ................................................................................................................. 182

10 HTTP 缓存 .......................................................................................................183

10.1 简介 ....................................................................................................................... 183

10.2 HTTP 缓存 ............................................................................................................ 184

10.2.1 Last-Modified ........................................................................................... 184

10.2.2 ETag .......................................................................................................... 190

10.2.3 总结 .......................................................................................................... 192

10.3 HttpClient 客户端缓存 ......................................................................................... 192

10.3.1 主流程 ...................................................................................................... 195

10.3.2 清除无效缓存 .......................................................................................... 195

10.3.3 查找缓存 .................................................................................................. 196

10.3.4 缓存未命中 .............................................................................................. 198

10.3.5 缓存命中 .................................................................................................. 198

10.3.6 缓存内容陈旧需重新验证 ...................................................................... 202

10.3.7 缓存内容无效需重新执行请求 ............................................................... 205

10.3.8 缓存响应 .................................................................................................. 206

10.3.9 缓存头总结 .............................................................................................. 207

 

 

 

内容介绍:

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

热门设计服务