| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 论坛
 上传资源
上传编程相关的资源,源源不断赚取资源分,以备将来下载之需
ghf794785671
文件大小:175.04 MB
文件类型:pdf
发布时间:2022-12-31 13:23:00
需资源分:2
下载次数:0
Tag:亿级流量  网站架构
::资源简介::
封面
书名
版权
前言
目录
第1 部分 概述
1 交易型系统设计的一些原则
     1.1 高并发原则
          1.1.1 无状态
          1.1.2 拆分
          1.1.3 服务化
          1.1.4 消息队列
          1.1.5 数据异构
          1.1.6 缓存银弹
          1.1.7 并发化
     1.2 高可用原则
          1.2.1 降级
          1.2.2 限流
          1.2.3 切流量
          1.2.4 可回滚
     1.3 业务设计原则
          1.3.1 防重设计
          1.3.2 幂等设计
          1.3.3 流程可定义
          1.3.4 状态与状态机
          1.3.5 后台系统操作可反馈
          1.3.6 后台系统审批化
          1.3.7 文档和注释
          1.3.8 备份
     1.4 总结
第2 部分 高可用
2 负载均衡与反向代理
     2.1 upstream配置
     2.2 负载均衡算法
     2.3 失败重试
     2.4 健康检查
          2.4.1 TCP心跳检查
          2.4.2 H T T P心跳检查
     2.5 其他配置
          2.5.1 域名上游服务器
          2.5.2 备份上游服务器
          2.5.3 不可用上游服务器
     2.6 长连接
     2.7 H T T P反向代理示例
     2.8 H T T P动态负载均衡
          2.8.1 Consul+Consul-template
          2.8.2 Consul+OpenResty
     2.9 Nginx四层负载均衡
          2.9.1 静态负载均衡
          2.9.2 动态负载均衡
参考资料
3 隔离术
     3.1 线程隔离
     3.2 进程隔离
     3.3 集群隔离
     3.4 机房隔离
     3.5 读写隔离
     3.6 动静隔离
     3.7 爬虫隔离
     3.8 热点隔离
     3.9 资源隔离
     3.10 使用Hystrix实现隔离
          3.10.1 Hystrix简介
          3.10.2 隔离示例
     3.11 基于Servlet 3实现请求隔离
          3.11.1 请求解析和业务处理线程池分离
          3.11.2 业务线程池隔离
          3.11.3 业务线程池监控/运维/降级
          3.11.4 如何使用Servlet 3异步化
          3.11.5 一些Servlet 3异步化压测数据
4 限流详解
     4.1 限流算法
          4.1.1 令牌桶算法
          4.1.2 漏桶算法
     4.2 应用级限流
          4.2.1 限流总并发/连接/请求数
          4.2.2 限流总资源数
          4.2.3 限流某个接口的总并发/请求数
          4.2.4 限流某个接口的时间窗请求数
          4.2.5 平滑限流某个接口的请求数
     4.3 分布式限流
          4.3.1 Redis+Lua实现
          4.3.2 Nginx+Lua实现
     4.4 接入层限流
……
参考资料
5 降级特技
     5.1 降级预案
     5.2 自动开关降级
          5.2.1 超时降级
          5.2.2 统计失败次数降级
          5.2.3 故障降级
          5.2.4 限流降级
     5.3 人工开关降级
     5.4 读服务降级
     5.5 写服务降级
     5.6 多级降级
     5.7 配置中心
          5.7.1 应用层API封装
          5.7.2 配置文件实现开关配置
          5.7.3 配置中心实现开关配置
     5.8 使用Hystrix实现降级
     5.9 使用Hystrix实现熔断
          5.9.1 熔断机制实现
          5.9.2 配置示例
          5.9.3 采样统计
6 超时与重试机制
     6.1 简介
     6.2 代理层超时与重试
          6.2.1 Nginx
          6.2.2 Twemproxy
     6.3 Web容器超时
     6.4 中间件客户端超时与重试
     6.5 数据库客户端超时
     6.6 NoSQL客户端超时
     6.7 业务超时
     6.8 前端Ajax超时
     6.9 总结
     6.10 参考资料
7 回滚机制
     7.1 事务回滚
     7.2 代码库回滚
     7.3 部署版本回滚
     7.4 数据版本回滚
     7.5 静态资源版本回滚
8 压测与预案
     8.1 系统压测
          8.1.1 线下压测
          8.1.2 线上压测
     8.2 系统优化和容灾
     8.3 应急预案
第3 部分 高并发
9 应用级缓存
     9.1 缓存简介
     9.2 缓存命中率
     9.3 缓存回收策略
          9.3.1 基于空间
          9.3.2 基于容量
          9.3.3 基于时间
          9.3.4 基于Java对象引用
          9.3.5 回收算法
     9.4 Java缓存类型
          9.4.1 堆缓存
          9.4.2 堆外缓存
          9.4.3 磁盘缓存
          9.4.4 分布式缓存
          9.4.5 多级缓存
     9.5 应用级缓存示例
          9.5.1 多级缓存API封装
          9.5.2 NULL Cache
          9.5.3 强制获取最新数据
          9.5.4 失败统计
          9.5.5 延迟报警
     9.6 缓存使用模式实践
          9.6.1 Cache-Aside
          9.6.2 Cache-As-SoR
          9.6.3 Read-Through
          9.6.4 Write-Through
          9.6.5 Write-Behind
          9.6.6 Copy Pattern
     9.7 性能测试
     9.8 参考资料
10 H T T P缓存
     10.1 简介
     10.2 H T T P缓存
          10.2.1 Last-Modified
          10.2.2 ETag
          10.2.3 总结
     10.3 H T T PClient客户端缓存
          10.3.1 主流程
          10.3.2 清除无效缓存
          10.3.3 查找缓存
          10.3.4 缓存未命中
          10.3.5 缓存命中
          10.3.6 缓存内容陈旧需重新验证
          10.3.7 缓存内容无效需重新执行请求
          10.3.8 缓存响应
          10.3.9 缓存头总结
     10.4 Nginx H T T P缓存设置
          10.4.1 expires
          10.4.2 if-modified-since
          10.4.3 nginx proxy_pass
     10.5 Nginx代理层缓存
          10.5.1 Nginx代理层缓存配置
          10.5.2 清理缓存
     10.6 一些经验
参考资料
11 多级缓存
     11.1 多级缓存介绍
     11.2 如何缓存数据
          11.2.1 过期与不过期
          11.2.2 维度化缓存与增量缓存
          11.2.3 大Value缓存
          11.2.4 热点缓存
     11.3 分布式缓存与应用负载均衡
          11.3.1 缓存分布式
          11.3.2 应用负载均衡
     11.4 热点数据与更新缓存
          11.4.1 单机全量缓存+主从
          11.4.2 分布式缓存+应用本地热点
     11.5 更新缓存与原子性
     11.6 缓存崩溃与快速修复
          11.6.1 取模
          11.6.2 一致性哈希
          11.6.3 快速恢复
12 连接池线程池详解
     12.1 数据库连接池
          12.1.1 DBCP连接池配置
          12.1.2 DBCP配置建议
          12.1.3 数据库驱动超时实现
          12.1.4 连接池使用的一些建议
     12.2 H T T PClient连接池
          12.2.1 H T T PClient 4.5.2配置
          12.2.2 H T T PClient连接池源码分析
          12.2.3 H T T PClient 4.2.3配置
          12.2.4 问题示例
     12.3 线程池
          12.3.1 Java线程池
          12.3.2 Tomcat线程池配置
13 异步并发实战
     13.1 同步阻塞调用
     13.2 异步Future
     13.3 异步Callback
     13.4 异步编排CompletableFuture
     13.5 异步Web服务实现
     13.6 请求缓存
     13.7 请求合并
14 如何扩容
     14.1 单体应用垂直扩容
     14.2 单体应用水平扩容
     14.3 应用拆分
     14.4 数据库拆分
     14.5 数据库分库分表示例
          14.5.1 应用层还是中间件层
          14.5.2 分库分表策略
          14.5.3 使用sharding-jdbc分库分表
          14.5.4 sharding-jdbc分库分表配置
          14.5.5 使用sharding-jdbc读写分离
     14.6 数据异构
          14.6.1 查询维度异构
          14.6.2 聚合数据异构
     14.7 任务系统扩容
          14.7.1 简单任务
          14.7.2 分布式任务
          14.7.3 Elastic-Job简介
          14.7.4 Elastic-Job-Lite功能与架构
          14.7.5 Elastic-Job-Lite示例
15 队列术
     15.1 应用场景
     15.2 缓冲队列
     15.3 任务队列
     15.4 消息队列
     15.5 请求队列
     15.6 数据总线队列
     15.7 混合队列
     15.8 其他队列
     15.9 Disruptor+Redis队列
          15.9.1 简介
          15.9.2 XML配置
          15.9.3 EventWorker
          15.9.4 EventPublishThread
          15.9.5 EventHandler
          15.9.6 EventQueue
     15.10 下单系统水平可扩展架构
          15.10.1 下单服务
          15.10.2 同步Worker
     15.11 基于Canal实现数据异构
          15.11.1 Mysql主从复制
          15.11.2 Canal简介
          15.11.3 Canal示例
第4 部分 案例
16 构建需求响应式亿级商品详情页
     16.1 商品详情页是什么
     16.2 商品详情页前端结构
     16.3 我们的性能数据
     16.4 单品页流量特点
     16.5 单品页技术架构发展
          16.5.1 架构1.0
          16.5.2 架构2.0
          16.5.3 架构3.0
     16.6 详情页架构设计原则
          16.6.1 数据闭环
          16.6.2 数据维度化
          16.6.3 拆分系统
          16.6.4 Worker无状态化+任务化
          16.6.5 异步化+并发化
          16.6.6 多级缓存化
          16.6.7 动态化
          16.6.8 弹性化
          16.6.9 降级开关
          16.6.10 多机房多活
          16.6.11 多种压测方案
     16.7 遇到的一些坑和问题
          16.7.1 SSD性能差
          16.7.2 键值存储选型压测
          16.7.3 数据量大时JIMDB同步不动
          16.7.4 切换主从
          16.7.5 分片配置
          16.7.6 模板元数据存储HTML
          16.7.7 库存接口访问量600w/分钟
          16.7.8 微信接口调用量暴增
          16.7.9 开启Nginx Proxy Cache性能不升反降
          16.7.10 配送至读服务因依赖太多,响应时间偏慢
          16.7.11 网络抖动时,返回502错误
          16.7.12 机器流量太大
     16.8 其他
17 京 东商品详情页服务闭环实践
     17.1 为什么需要统一服务
     17.2 整体架构
     17.3 一些架构思路和总结
          17.3.1 两种读服务架构模式
          17.3.2 本地缓存
          17.3.3 多级缓存
          17.3.4 统一入口/服务闭环
     17.4 引入Nginx接入层
          17.4.1 数据校验/过滤逻辑前置
          17.4.2 缓存前置
          17.4.3 业务逻辑前置
          17.4.4 降级开关前置
          17.4.5 AB测试
          17.4.6 灰度发布/流量切换
          17.4.7 监控服务质量
          17.4.8 限流
     17.5 前端业务逻辑后置
     17.6 前端接口服务端聚合
     17.7 服务隔离
18 使用OpenResty开发高性能Web应用
     18.1 OpenResty简介
          18.1.1 Nginx优点
          18.1.2 Lua的优点
          18.1.3 什么是ngx_lua
          18.1.4 开发环境
          18.1.5 OpenResty生态
          18.1.6 场景
     18.2 基于OpenResty的常用架构模式
          18.2.1 负载均衡
          18.2.2 单机闭环
          18.2.3 分布式闭环
          18.2.4 接入网关
          18.2.5 核心接入Nginx功能
          18.2.6 业务Nginx功能
          18.2.7 Web应用
     18.3 如何使用OpenResty开发Web应用
          18.3.1 项目搭建
          18.3.2 启停脚本
          18.3.3 配置文件
          18.3.4 nginx.conf配置文件
          18.3.5 Nginx项目配置文件
          18.3.6 业务代码
          18.3.7 模板
          18.3.8 公共Lua库
          18.3.9 功能开发
     18.4 基于OpenResty的常用功能总结
     18.5 一些问题
19 应用数据静态化架构高性能单页Web应用
     19.1 整体架构
          19.1.1 CMS系统
          19.1.2 前端展示系统
          19.1.3 控制系统
     19.2 数据和模板动态化
     19.3 多版本机制
     19.4 异常问题
20 使用OpenResty开发Web服务
     20.1 架构
     20.2 单DB架构
          20.2.1 DB+Cache/数据库读写分离架构
          20.2.2 OpenResty+Local Redis+Mysql集群架构
          20.2.3 OpenResty+Redis集群+Mysql集群架构
     20.3 实现
          20.3.1 后台逻辑
          20.3.2 前台逻辑
          20.3.3 项目搭建
          20.3.4 Redis+Twemproxy配置
          20.3.5 Mysql+Atlas配置
          20.3.6 Java+Tomcat安装
          20.3.7 Java+Tomcat逻辑开发
          20.3.8 Nginx+Lua逻辑开发
21 使用OpenResty开发商品详情页
     21.1 技术选型
     21.2 核心流程
     21.3 项目搭建
     21.4 数据存储实现
          21.4.1 商品基本信息SSDB集群配置
          21.4.2 商品介绍SSDB集群配置
          21.4.3 其他信息Redis配置
          21.4.4 集群测试
          21.4.5 Twemproxy配置
     21.5 动态服务实现
          21.5.1 项目搭建
          21.5.2 项目依赖
          21.5.3 核心代码
          21.5.4 基本信息服务
          21.5.5 商品介绍服务
          21.5.6 其他信息服务
          21.5.7 辅助工具
          21.5.8 web.xml配置
          21.5.9 打WAR包
          21.5.10 配置Tomcat
          21.5.11 测试
          21.5.12 Nginx配置
          21.5.13 绑定hosts测试
     21.6 前端展示实现
          21.6.1 基础组件
          21.6.2 商品介绍
          21.6.4 前端展示
          21.6.5 测试
          21.6.6 优化
::下载地址::

BCCN本地下载 
开通VIP
可免资源分下载所有资源
::下载本资源的人也下载了::
::作者其它资源::
 
>> 评论
 
热门Tag:
 
编程中国 版权所有,并保留所有权利。 在线客服
微信扫码咨询

Powered by BCCN 1.020, Processed in 0.005483 second(s)
Copyright©2010-2024, BCCN.NET, All Rights Reserved

在线客服
微信扫码咨询