天天看點

基于Spring+SpringMVC+MyBatis實作高并發秒殺APIM一、項目概述二、建立項目三、詳細設計

基于Spring+SpringMVC+MyBatis實作高并發秒殺API

1.網際網路公司常用架構

2.架構易于使用和輕量級

3.低代碼傾入性

4.成熟的社群和使用者群

MySQL:1.表設計2.SQL技巧3.事務和行級鎖

MyBatis:1.DAO層的設計和開發2.MyBatis合理使用3.MyBatis和Spring的整合和使用

Spring:1.Spring IOC整合Service2.聲明式事務

SpringMVC:1.Restful接口設計和使用技巧2.架構運作流程3.Controller開發技巧

前端:1.互動設計2.Bootstrap3.JQuery

高并發:1.高并發點和高并發分析2.優化思路并實作

基于Spring+SpringMVC+MyBatis實作高并發秒殺APIM一、項目概述二、建立項目三、詳細設計
基于Spring+SpringMVC+MyBatis實作高并發秒殺APIM一、項目概述二、建立項目三、詳細設計
基于Spring+SpringMVC+MyBatis實作高并發秒殺APIM一、項目概述二、建立項目三、詳細設計
基于Spring+SpringMVC+MyBatis實作高并發秒殺APIM一、項目概述二、建立項目三、詳細設計
基于Spring+SpringMVC+MyBatis實作高并發秒殺APIM一、項目概述二、建立項目三、詳細設計
基于Spring+SpringMVC+MyBatis實作高并發秒殺APIM一、項目概述二、建立項目三、詳細設計

1.使用maven建立項目:mvn archetype:generate -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp

-DinteractiveMode=false -DarchetypeCatalog=internal

也可以使用mvn archetype:generate指令根據提示建立項目。

2.使用Eclipse導入項目

3.修改web.xml檔案schema,使用servlet4.0版本,預設2.3版本EL表達式不工作。

4.補全目錄

5.補全pom.xml,導入相關依賴

部分說明:

1.Java日志:slf4j,log4j,logback,common-logging等等(commons-logging

和 slf4j 都是日志規範/接口,差別是slf4j在加載時尋找接口的實作,而 commons-logging 在運作時尋找接口的實作)

slf4j是規範/接口,log4j,logback,common-logging是日志實作

這裡使用slf4j+logback

2.c3p0資料庫連接配接池

pom.xml

MySQL等關系型資料庫提供的事務機制是目前可靠的資料落地方案

1.秒殺接口暴露

2.執行秒殺

3.相關的查詢

一、DAO層設計和編碼

1.資料庫表設計 2.DAO的接口 3.MyBatis實作DAO

二、Service設計編碼

1.Service層設計以及編碼實作 2.通過Spring管理Service,通過聲明式事務标注事務操作(通過Spring聲明式事務簡化事務控制)

三、web設計

1.RESTful接口設計 2.前端互動

四、優化項目

未完……