如果你對項目管理、系統架構有興趣,請加微信訂閱号“softjg”,加入這個PM、架構師的大家庭
閑暇之餘準備開發一套電子商店的網站,要求能夠面對大資料量,高并發。我會将實作的全過程記錄下來,并通過部落格分享給大家,當然最後也會把這個電子商店網站免費開源,希望大家多多拍磚。
- 我們的電子商店都準備實作哪些功能子產品呢?
- 商品管理
- 商品類别管理
- 打折管理
- 評價管理
- 訂單管理
- 網站菜單管理
- 首頁五圖連播管理
- 内容管理
- 權限管理
較長的描述,等我們下一個章節再說說道說道......
- 首先從架構上考慮,我們采用四層的面向服務的架構:
一個标準的四層架構包含如下四個部分:
- 商店應用程式展示層,負責商店應用程式與客戶的互動
- 服務層,負責與商店應用程式進行資料互動
- 業務邏輯層,負責處理系統的業務
- 資料通路層,負責處理資料,與不同的資料庫打交道
- 然後從項目元件上考慮,我們建立10個項目:
App——電子商店前台頁面展示
是BS架構的項目,選擇最新的MVC4架構。
BLL——業務邏輯
業務邏輯的操作,包括業務處理,事務等。
DAL——資料通路
資料庫通路的操作,資料實體,資料校驗,使用Entity Framework。
IBLL——業務接口
業務邏輯層的方法對外暴露的接口和服務契約。如:App項目和Shop項目。
Common——公共元件
整個應用程式使用的公共輔助方法。
ModelingProject——模型設計
在此設計項目的圖例,如:架構圖。
WcfHost——服務宿主
為電子商店前台系統的服務提供宿主,使用微軟WCF技術。
WFActivitys——工作流活動層
定義了工作流的活動,使用微軟WF技術。
WFDesigner——工作流設計器
實施人員自由配置工作流的設計器,使用微軟WPF技術。
Shop——電子商店背景應用程式
是BS架構的項目,選擇最新的MVC4架構。使用EesyUI腳本庫。
- 然後從實體部署上考慮,我們采用分布式部署:
客戶:
客戶從浏覽器通路我們的商店應用程式伺服器,商店應用程式再通過請求圖檔伺服器(圖檔部分)和提供服務的伺服器(資料部分),将兩部分整合後發回給客戶浏覽器;
背景管理人員:
管理人員從浏覽器通路我們的背景應用程式伺服器,通過背景應用程式管理圖檔伺服器(圖檔部分)和資料庫伺服器(資料部分)的資源。
我想至此,你應該明白了(一)中,為什麼背景應用程式直接通路業務邏輯層,而商店應用程式需要通過服務層通路業務邏輯層了,因為伴随資料通路量增大,我們可以将服務根據功能需要,部署在多個伺服器上,以緩解通路壓力,而背景應用程式不會出現通路量增大的現象。
如果你對項目管理、系統架構有興趣,請加微信訂閱号“softjg”,加入這個PM、架構師的大家庭