高并发秒杀——开篇

基于SpringMVC+Spring+MyBatis实现高并发秒杀API(API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。)
1、SpringMVC+Spring+MyBatis使用与整合
使用的优点:
1)框架易于使用和轻量级(轻量级重量级某种程度上是以启动程序需要的资源来决定。比如,EJB启动的时候,需要消耗大量的资源,内存,CPU等,所以是重量级。而Spring则不,所以是轻量级框架。专业点说就是量级主要是看对容器的依赖性所决定的,依赖性越小,越轻量.)
2)低代码侵入性
3)成熟的社区和用户群
秒杀业务场景具有典型“事务”特性
秒杀/红包类需求越来越常见
面试常问问题
2、秒杀类系统需求理解和实现
3、常用技术解决高并发问题

       用到的技术

MySQL:
1、表设计
2、SQL技巧
3、事务和行级锁
MyBatis:
1、DAO层设计与开发
2、MyBatis合理使用
3、Spring+MyBatis整合
Spring:
1、Spring IOC整合Service
2、声明式事务运用
SpringMVC:
1、Restful接口设计和使用
2、框架运作流程
3、Controller开发技巧
前端:
1、交互设计
2、Bootstrap
3、jQuery
高并发:
1、高并发点和高并发分析
2、优化思路并实现
基于maven创建项目:

创建之前的说明:
1、从零开始创建
2、从官网获取相关配置(文档更全面权威、避免过时或错误)
Logback: http://logback.qos.ch/manual/configuration.html
Spring: http://docs.spring.io/spring/docs/
Mybatis: http://mybatis.github.io/mybatis-3/zh/index.html

3、使用maven创建项目
Maven命令创建web骨架项目
mvn archetype:creat -DgroupId=org.seckill -DartifactId=seckill (这两个Id标注项目的坐标)
-DarchetypeArtifactId=maven-archetype-webapp(使用web原型创建项目)

秒杀系统业务流程:
这里写图片描述
秒杀业务的核心——>库存的处理

用户针对库存业务的分析:
这里写图片描述

什么是购买行为?
记录秒杀成功信息:
1、谁购买成功
2、成功的时间/有效期
3、付款/发货信息

关于数据落地
Mysql vs Nosql

难点问题竞争:
这里写图片描述
Mysql实现秒杀难点分析
事务 + 行级锁
事务:
Start Transaction
Update 库存数量
Insert 购买明细
Commit

行级锁:
这里写图片描述

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

这里写图片描述
天猫的秒杀系统大概是这样

秒杀功能:
秒杀接口暴露
执行秒杀
相关查询

代码开发阶段
DAO设计编码
Service设计编码
Web设计编码

数据库编码

(SQL文件)

基于MyBatis实现DAO
这里写图片描述

MyBatis特点:参数 + SQL = Entity/List

SQL写在:
1、XML提供SQL(选)
2、注释提供SQL

DAO接口:
1、Mapper自动实现DAO接口(选)
2、API编程方式实现DAO接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值