Java高并发秒杀API

  • SpringMVC + Spring + MyBatis使用与整合
  • 秒杀类系统需求理解和实现
  • 常用技术解决高并发问题

秒杀

  1. 秒杀业务场景具有典型“事务”特性
  2. 秒杀/红包类需求越来越常见
  3. 面试常问问题

课程分为四门课程

技术分析

秒杀业务分析




实现秒杀系统的难点分析

解决之道: 【事务 + 行级锁】

start transaction
update 库存数量
insert 购买明细
commit

  • 秒杀的难点: 如何高效的处理竞争?

秒杀系统功能分析

  • 秒杀接口暴露
  • 执行秒杀
  • 相关查询

🍎 DAO层

代码开发阶段

  • DAO设计编码

Mapper自动实现DAO接口

MyBatis整合Spring
1. 更少的编码
只写接口,不写实现
2. 更少的配置
<mapper resource=""/>   ==> 自动扫描配置文件
<bean id="ClubDao" class="....ClubDao"/> ===》 自动实现DAO接口|自动注入Spring容器
3. 足够的灵活性
定制SQL + 自由传参 ===》 结果集自动赋值

DAO层开发的思考

DAO层工作演变为: 接口设计 + SQL编写
代码和SQL的分离,方便 Review
DAO层的拼接等逻辑在Service层完成








Web层



什么是Restful

  • 兴起于Rails
  • 一种优雅的URL表述方式
  • 资源的状态和状态转移
GET    /seckill/list   ✔

POST /seckill/execute/{seckillid} ❌










Web层技术回顾

  • 前端交互设计过程

  • Restful接口设计

  • SpringMVC使用技巧

  • Bootstrap和JS使用

秒杀优化


为什么单独获取系统事件















系统部署架构







posted @ 2021-07-30 12:53  Felix_Openmind  阅读(111)  评论(0)    收藏  举报
*{cursor: url(https://files-cdn.cnblogs.com/files/morango/fish-cursor.ico),auto;}