文章大綱
一扣典、淘淘商城總體架構(gòu)介紹
二、淘淘商城重要技術(shù)點(diǎn)總結(jié)
三慎玖、項(xiàng)目常見(jiàn)面試題
四贮尖、項(xiàng)目學(xué)習(xí)(all)資源下載
五、參考文章
一趁怔、淘淘商城總體架構(gòu)介紹
1. 功能架構(gòu)
2. 技術(shù)選型
(1)Spring湿硝、SpringMVC、Mybatis
(2)JSP痕钢、JSTL图柏、jQuery、jQuery plugin(為頁(yè)面上的元素產(chǎn)生陰影效果的 jQuery 插件)任连、EasyUI(一系列的jq模板封裝)蚤吹、KindEditor(富文本編輯器)、CSS+DIV
(3)Redis(緩存服務(wù)器)
(4)Solr(搜索)
(5)httpclient(調(diào)用系統(tǒng)服務(wù))
(6)Mysql
(7)Nginx(web服務(wù)器)
3. 技術(shù)架構(gòu)
二随抠、淘淘商城重要技術(shù)點(diǎn)總結(jié)
第一天:項(xiàng)目工程搭建裁着。
1、使用maven構(gòu)建工程拱她。Maven的繼承二驰、聚合、依賴管理秉沼。
2桶雀、Svn的使用,svn上傳下載代碼唬复。
第二天:ssm框架整合矗积。
1、mybatis逆向工程敞咧。
2棘捣、后臺(tái)管理系統(tǒng)搭建,前臺(tái)技術(shù)使用EasyUI框架休建。了解easyUI的dategrid的使用方法乍恐。
第三天:實(shí)現(xiàn)商品添加。
1测砂、商品類(lèi)目選擇茵烈。EasyUI的異步tree的使用方法。
2砌些、圖片服務(wù)器的搭建瞧毙。使用ftp+http配合,實(shí)現(xiàn)圖片服務(wù)。ftp服務(wù)使用vsftpd實(shí)現(xiàn)宙彪,http服務(wù)使用nginx實(shí)現(xiàn)矩动。
3、KindEditor富文本編輯器的使用方法释漆。
第四天:規(guī)格參數(shù)實(shí)現(xiàn)悲没。
1、規(guī)格參數(shù)的解決方案男图。
a)方案一:創(chuàng)建多個(gè)表進(jìn)行關(guān)聯(lián)實(shí)現(xiàn)商品類(lèi)目示姿。
b)方案二:使用模板方式實(shí)現(xiàn)。
2逊笆、java對(duì)象栈戳、json之間的轉(zhuǎn)換。
第五天:前臺(tái)工程搭建难裆。
1子檀、理解分布式系統(tǒng)架構(gòu)思想。
2乃戈、Jsonp解決ajax跨域調(diào)用的問(wèn)題褂痰。
第六天:CMS系統(tǒng)的實(shí)現(xiàn)
1、CMS系統(tǒng)的實(shí)現(xiàn)思路
2症虑、Httpclient的使用方法
3缩歪、首頁(yè)大廣告位的實(shí)現(xiàn)
第七天:內(nèi)容系統(tǒng)添加緩存
1、redis的使用方法及redis集群的搭建
2谍憔、系統(tǒng)中添加緩存邏輯
3匪蝙、緩存的同步方法。
第八天:搜索功能實(shí)現(xiàn)
1习贫、solr服務(wù)在linux環(huán)境的搭建
2逛球、使用solr實(shí)現(xiàn)搜索功能。
3沈条、索引庫(kù)中商品的同步
第九天:商品詳情頁(yè)面實(shí)現(xiàn)
1、商品詳情頁(yè)面內(nèi)容異步加載
2诅炉、規(guī)格參數(shù)按需加載
3蜡歹、商品詳情頁(yè)面添加緩存及緩存同步
第十天:?jiǎn)吸c(diǎn)登錄系統(tǒng)實(shí)現(xiàn)
1、服務(wù)接口的開(kāi)發(fā)
2涕烧、在分布式環(huán)境中使用redis實(shí)現(xiàn)session共享
3月而、使用cookie在多個(gè)系統(tǒng)中共享。
4议纯、攔截器的使用方法
第十一天:購(gòu)物車(chē)父款、訂單
1、使用cookie保存購(gòu)物車(chē)信息
2、創(chuàng)建訂單系統(tǒng)憨攒。發(fā)布服務(wù)世杀,支持post請(qǐng)求提交json格式的數(shù)據(jù)。
3肝集、在用戶提交訂單之前瞻坝,檢查用戶的登錄狀態(tài)(攔截器)
第十二天:nginx安裝、配置
1杏瞻、nginx的虛擬機(jī)的配置
2所刀、Nginx的反向代理
3、Nginx的負(fù)載均衡
4捞挥、Nginx的高可用
第十三天:solr集群的搭建浮创、系統(tǒng)部署
1、solrCloud的搭建砌函。Zookeeper的配置斩披、solr集群的分片。
2胸嘴、Mysql數(shù)據(jù)庫(kù)在linux環(huán)境的安裝
3雏掠、使用maven進(jìn)行系統(tǒng)的熱部署。
三劣像、項(xiàng)目常見(jiàn)面試題
1. xx網(wǎng)站并發(fā)數(shù)
10000-20000左右并發(fā)
2. xx項(xiàng)目人員配置
產(chǎn)品經(jīng)理:3人乡话,確定需求以及給出產(chǎn)品原型圖。
項(xiàng)目經(jīng)理:1人耳奕,項(xiàng)目管理绑青。
前端團(tuán)隊(duì):5人,根據(jù)產(chǎn)品經(jīng)理給出的原型制作靜態(tài)頁(yè)面屋群。
后端團(tuán)隊(duì):20人闸婴,實(shí)現(xiàn)產(chǎn)品功能。
測(cè)試團(tuán)隊(duì):5人芍躏,測(cè)試所有的功能邪乍。
運(yùn)維團(tuán)隊(duì):3人,項(xiàng)目的發(fā)布以及維護(hù)对竣。
3. xx項(xiàng)目開(kāi)發(fā)周期
采用迭代開(kāi)發(fā)的方式進(jìn)行庇楞,一般一次迭代的周期為一個(gè)月左右。
4. 你說(shuō)你用了redis緩存否纬,你redis存的是什么格式的數(shù)據(jù)吕晌,是怎么存的
例如:redis中存儲(chǔ)的都是key-value格式的。拿商品數(shù)據(jù)來(lái)說(shuō)临燃,key就是商品id睛驳,value是商品相關(guān)信息的json數(shù)據(jù)烙心。
5. 你前臺(tái)portal采用4臺(tái)服務(wù)器集群部署,那能前臺(tái)高并發(fā)訪問(wèn)性能提上去了乏沸,那數(shù)據(jù)庫(kù)會(huì)不會(huì)造成一個(gè)瓶頸淫茵,這一塊你是怎么處理的?
portal系統(tǒng)在高并發(fā)的情況下如果每次請(qǐng)求都請(qǐng)求都查詢數(shù)據(jù)庫(kù)確實(shí)會(huì)出現(xiàn)數(shù)據(jù)庫(kù)的瓶頸屎蜓。為了降低數(shù)據(jù)庫(kù)壓力痘昌,在服務(wù)層會(huì)添加一個(gè)緩存,用redis實(shí)現(xiàn)炬转,這樣的話請(qǐng)求先到緩存中查找是否有緩存的內(nèi)容辆苔,如果有直接從緩存中取數(shù)據(jù),如果沒(méi)有再到數(shù)據(jù)庫(kù)中查詢扼劈。這樣數(shù)據(jù)庫(kù)的壓力就不會(huì)那么大了驻啤。
6. 你購(gòu)物車(chē)存cookie里邊 可以實(shí)現(xiàn)不登錄就可以使用購(gòu)物車(chē) 那么我現(xiàn)在沒(méi)有登錄把商品存購(gòu)物車(chē)了 然后登錄了 然后我換臺(tái)電腦并且登錄了還能不能看見(jiàn)我購(gòu)物車(chē)的信息?如果看不到怎么做到cookie同步荐吵,就是在另外一臺(tái)電腦上可以看到購(gòu)物車(chē)信息
宜立方商城現(xiàn)階段使用的僅僅是把購(gòu)物車(chē)的商品寫(xiě)入cookie中骑冗,這樣服務(wù)端基本上么有存儲(chǔ)的壓力。但是弊端就是用戶更換電腦后購(gòu)物車(chē)不能同步先煎。打算下一步這么實(shí)現(xiàn):當(dāng)用戶沒(méi)有登錄時(shí)向購(gòu)物車(chē)添加商品是添加到cookie中贼涩,當(dāng)用戶登錄后購(gòu)物車(chē)的信息是存儲(chǔ)在redis中的并且是跟用戶id向關(guān)聯(lián)的,此時(shí)你更換電腦后使用同一賬號(hào)登錄購(gòu)物車(chē)的信息就會(huì)展示出來(lái)薯蝎。
7. 如果用戶一直添加購(gòu)物車(chē)添加商品怎么辦遥倦?并且他添加一次你查詢一次數(shù)據(jù)庫(kù)?互聯(lián)網(wǎng)上用戶那么多占锯,這樣會(huì)對(duì)數(shù)據(jù)庫(kù)造成很大壓力你怎么辦袒哥?
當(dāng)前我們使用cookie的方式來(lái)保存購(gòu)物車(chē)的數(shù)據(jù),所以當(dāng)用戶往購(gòu)物車(chē)中添加商品時(shí)消略,并不對(duì)數(shù)據(jù)庫(kù)進(jìn)行操作堡称。將來(lái)把購(gòu)物車(chē)商品放入redis中,redis是可以持久化的可以永久保存艺演,此時(shí)就算是頻繁的往購(gòu)物車(chē)中添加數(shù)據(jù)也沒(méi)用什么問(wèn)題却紧。
四、項(xiàng)目學(xué)習(xí)(all)資源下載
- 鏈接:https://pan.baidu.com/s/1BkhsQRAbfPTUYHX-oz3KNQ
提取碼:ebzn - 鏈接:https://pan.baidu.com/s/1f_5ANFc-TIE5oq-s-mPmAw
提取碼:aayl