設(shè)計高并發(fā)的電子商店
閑暇之余準(zhǔn)備開發(fā)一套電子商店的網(wǎng)站,要求能夠面對大數(shù)據(jù)量,高并發(fā)。我會將實現(xiàn)的全過程記錄下來,并通過博客分享給大家,當(dāng)然最后也會把這個電子商店網(wǎng)站免費開源,希望大家多多拍磚。
我們的電子商店都準(zhǔn)備實現(xiàn)哪些功能模塊呢?
-
商品管理
- 商品類別管理
- 打折管理
- 評價管理
- 訂單管理
- 網(wǎng)站菜單管理
- 首頁五圖連播管理
- 內(nèi)容管理
- 權(quán)限管理
詳細(xì)描述,等我們下一個章節(jié)再說說道說道......
首先從架構(gòu)上考慮,我們采用四層的面向服務(wù)的架構(gòu):
一個標(biāo)準(zhǔn)的四層架構(gòu)包含如下四個部分:
-
商店應(yīng)用程序展示層,負(fù)責(zé)商店應(yīng)用程序與客戶的交互
-
服務(wù)層,負(fù)責(zé)與商店應(yīng)用程序進(jìn)行數(shù)據(jù)交互
-
業(yè)務(wù)邏輯層,負(fù)責(zé)處理系統(tǒng)的業(yè)務(wù)
- 數(shù)據(jù)訪問層,負(fù)責(zé)處理數(shù)據(jù),與不同的數(shù)據(jù)庫打交道
然后從項目組件上考慮,我們創(chuàng)建10個項目:
App——電子商店前臺頁面展示是BS架構(gòu)的項目,選擇最新的MVC4框架。BLL——業(yè)務(wù)邏輯業(yè)務(wù)邏輯的操作,包括業(yè)務(wù)處理,事務(wù)等。DAL——數(shù)據(jù)訪問數(shù)據(jù)庫訪問的操作,數(shù)據(jù)實體,數(shù)據(jù)校驗,使用Entity Framework。IBLL——業(yè)務(wù)接口業(yè)務(wù)邏輯層的方法對外暴露的接口和服務(wù)契約。如:App項目和Shop項目。Common——公共組件整個應(yīng)用程序使用的公共輔助方法。ModelingProject——模型設(shè)計在此設(shè)計項目的圖例,如:架構(gòu)圖。WcfHost——服務(wù)宿主為電子商店前臺系統(tǒng)的服務(wù)提供宿主,使用微軟WCF技術(shù)。WFActivitys——工作流活動層定義了工作流的活動,使用微軟WF技術(shù)。WFDesigner——工作流設(shè)計器實施人員自由配置工作流的設(shè)計器,使用微軟WPF技術(shù)。Shop——電子商店后臺應(yīng)用程序是BS架構(gòu)的項目,選擇最新的MVC4框架。使用EesyUI腳本庫。
然后從物理部署上考慮,我們采用分布式部署:
客戶:
客戶從瀏覽器訪問我們的商店應(yīng)用程序服務(wù)器,商店應(yīng)用程序再通過請求圖片服務(wù)器(圖片部分)和提供服務(wù)的服務(wù)器(數(shù)據(jù)部分),將兩部分整合后發(fā)回給客戶瀏覽器;
后臺管理人員:
管理人員從瀏覽器訪問我們的后臺應(yīng)用程序服務(wù)器,通過后臺應(yīng)用程序管理圖片服務(wù)器(圖片部分)和數(shù)據(jù)庫服務(wù)器(數(shù)據(jù)部分)的資源。
我想至此,你應(yīng)該明白了(一)中,為什么后臺應(yīng)用程序直接訪問業(yè)務(wù)邏輯層,而商店應(yīng)用程序需要通過服務(wù)層訪問業(yè)務(wù)邏輯層了,因為伴隨數(shù)據(jù)訪問量增大,我們可以將服務(wù)根據(jù)功能需要,部署在多個服務(wù)器上,以緩解訪問壓力,而后臺應(yīng)用程序不會出現(xiàn)訪問量增大的現(xiàn)象。
選型
工具選擇VS2010 SP1 + SQL Server2008 + 狼奔代碼生成器
技術(shù)選擇EF + WF + WCF + MVC4 + EesyUI
原文鏈接:http://www.cnblogs.com/angben/archive/2012/12/23/2829795.html