慕课网
【性能优化,打造亿级秒杀系统】实战课程
源码、笔记和解析。老师讲得非常不错,干货满满,全程高能,强烈推荐。
- 效果展示
- 注册
- 商品列表
- 商品详情
- 项目架构
- 要点和细节
- Data Object/Model/View Object
- 通用返回对象
- 处理错误信息
- 异常拦截器处理自定义异常
- 跨域问题
- 优化校验规则
- 校验规则
- 封装校验结果
- 创建校验器/使用校验
- 用户业务
- 短信发送业务
- 注册业务
- 登录业务
- 商品业务
- 商品添加业务
- 获取商品业务
- 查询所有商品
- 交易业务
- 下单业务
- 订单ID的生成
- 秒杀业务
- 秒杀DO/Model和VO
- 升级获取商品业务
- 活动商品下单业务
- 改进
- 前言
- 进阶项目核心知识点
- 基础项目回顾
- 项目结构—数据模型
- 项目结构—DAO/Service/Controller结构
- 全局异常处理类
- 项目云端部署
- 数据库部署
- 项目打包
- deploy启动脚本
- jmeter性能压测
- 单机服务器并发容量问题和优化
- 项目架构
- 发现并发容量问题
- Spring Boot内嵌Tomcat线程优化
- Spring Boot内嵌Tomcat网络连接优化
- 小结
- 优化后的效果
- 接下来的优化方向
- 分布式扩展优化
- 项目架构
- Nginx部署前端静态资源
- Nginx反向代理处理Ajax请求
- 开启Tomcat Access Log验证
- Nginx反向代理长连接优化
- 分布式扩展后的效果
- Nginx高性能原因—epoll多路复用
- Nginx高性能原因—master-worker进程模型
- Ngxin进程结构
- Master-worker高效原理
- Nginx高性能原因—协程机制
- 小结
- 接下来的优化方向
- 分布式会话
- 基于Cookie传输SessionId
- 基于Token传输类似SessionId
- 小结
- 接下来的优化方向
- 查询优化之多级缓存
- 项目架构
- 优化商品查询接口—单机版Redis缓存
- 序列化格式问题
- 时间序列化格式问题
- 优化商品查询接口—本地热点缓存
- 本地缓存缺点
- 缓存优化后的效果
- Nginx Proxy Cache缓存
- Nginx Proxy Cache缓存效果
- Nginx lua脚本
- lua脚本实战
- OpenResty—Shared dic
- Shared dict缓存效果
- 小结
- 接下来的优化方向
- 查询优化之页面静态化
- 项目架构
- CDN
- CDN使用
- CDN优化效果
- CDN深入—cache controll响应头
- 选择缓存策略
- 有效性验证
- 请求资源流程
- CDN深入—浏览器三种刷新方式
- a标签/回车刷新
- F5刷新
- CTRL+F5强制刷新
- CDN深入—自定义缓存策略
- CDN深入—静态资源部署策略
- 部署窘境
- 解决方法
- 全页面静态化
- phantomJS实现全页面静态化
- 小结
- 接下来的优化方向
- 优化效果总结
- Tomcat优化
- 分布式扩展优化
- 缓存优化
- CDN优化
- 交易优化之缓存库存
- 交易接口瓶颈
- 交易验证优化
- 用户校验缓存优化
- 活动校验缓存优化
- 缓存优化后的效果
- 库存扣减优化
- 索引优化
- 库存扣减缓存优化
- RocketMQ
- 同步数据库库存到缓存
- 同步缓存库存到数据库(异步扣减库存)
- 异步扣减库存存在的问题
- 小结
- 接下来的优化方向
- 交易优化之事务型消息
- 异步消息发送时机问题
- 解决方法
- 事务提交问题
- 解决方法
- 事务型消息
- 更新下单流程
- 小结
- 接下来的优化方向
- 异步消息发送时机问题
- 库存流水
- 下单操作的处理
- UNKNOWN状态处理
- 库存售罄处理
- 小结
- 可以改进的地方
- 接下来的优化方向
- 流量削峰
- 业务解耦—秒杀令牌
- 限流—令牌大闸
- 令牌大闸限流缺点
- 限流—队列泄洪
- 小结
- 接下来的优化方向
- 防刷限流
- 验证码技术
- 限流方案—限并发
- 限流方案—令牌桶/漏桶
- 令牌桶
- 漏桶
- 区别
- 限流力度
- 限流范围
- RateLimiter限流实现
- 防刷技术
- 传统防刷技术
- 黄牛为什么难防
- 防黄牛方案
- 小结