GithubHelp home page GithubHelp logo

junjieliao593 / miaosha_shop Goto Github PK

View Code? Open in Web Editor NEW

This project forked from majestysa/miaosha_shop

0.0 1.0 0.0 768 KB

慕课网【Spring Boot构建电商基础秒杀项目 】+【性能优化,打造亿级秒杀系统】源码、笔记和解析

Java 79.78% HTML 20.21% JavaScript 0.01%

miaosha_shop's Introduction

慕课网【Spring Boot构建电商基础秒杀项目 】+【性能优化,打造亿级秒杀系统】源码、笔记和解析

慕课网

【Spring Boot构建电商基础秒杀项目】免费课程

【性能优化,打造亿级秒杀系统】实战课程

源码、笔记和解析。老师讲得非常不错,干货满满,全程高能,强烈推荐。

基础项目

Spring Boot构建电商基础秒杀项目笔记

  • 效果展示
    • 注册
    • 商品列表
    • 商品详情
  • 项目架构
  • 要点和细节
    • 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限流实现
    • 防刷技术
      • 传统防刷技术
      • 黄牛为什么难防
      • 防黄牛方案
    • 小结

miaosha_shop's People

Contributors

majestysa avatar xielihao3 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.