- 网页设计
- 整站网页设计
- 网站模板设计
- 网站开发
- 综合门户网开发
- 企业网站开发
- 电子商务网站开发
- 资讯网站开发
- 团购网站开发
- 手机网站开发
- 宣传展示网站
- 网站功能开发
- 网站特效制作
- 应用软件开发
- 手机应用软件
- 计算机应用软件
- 软件美工
- 程序修改
- 仿网站开发
- 脚本插件
- 软件测试
- 网站改版
- 企业办公系统
- 软件汉化
- 软件界面皮肤
- 企业办公系统界面
- 应用移植
- Android开发
- IOS开发
- 应用汉化
- 安卓系统定制
- 网店装修
亿级流量网站架构核心技术:跟开涛学搭建高可用高并发系统.
- 产品名称:亿级流量网站架构核心技术...
- 书名:亿级流量网站架构核心技术书籍
- 定价: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 安全、系统发布、运维监控等在内的大型网站开发全景视图。