萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> 設計高並發的電子商店 四層面向服務的架

設計高並發的電子商店 四層面向服務的架

閒暇之余准備開發一套電子商店的網站,要求能夠面對大數據量,高並發。我會將實現的全過程記錄下來,並通過博客分享給大家,當然最後也會把這個電子商店網站免費開源,希望大家多多拍磚。

我們的電子商店都准備實現哪些功能模塊呢?

設計高並發的電子商店 四層面向服務的架 三聯

詳細描述,等我們下一個章節再說說道說道...... 

首先從架構上考慮,我們采用四層的面向服務的架構:

一個標准的四層架構包含如下四個部分:

然後從物理部署上考慮,我們采用分布式部署:

我們的目的就是伴隨著訪問量的增加,無需更改程序,只需增加服務器個數,就可以達到高並發的目的。

客戶:

客戶從浏覽器訪問我們的商店Web應用程序服務器;

商店web應用程序采用Windows_Server_AppFabric技術,緩存部分更改時效性不高的數據,和共享sessionstate

同時,手機,winform程序等可以通過wcf技術,訪問通過分布式服務的AppFabric服務器獲取數據

將Web應用程序的分布式緩存和提供分布式服務的AppFabric服務器部署在一起,就是為了最大化的節省服務器資源

數據庫采取讀寫分離的原則:

1.對於商品評論的信息我們放在“從數據庫1”中,在商品詳細的頁面,直接從該數據庫獲取數據。

2.對於訂單的信息我們放在“從數據庫2”中,在訂單查詢的頁面,直接從該數據庫獲取數據。

3.“從數據庫1”和“從數據庫2”都會在合適的時機同步到主數據庫。

4.我們會根據業務開發出不同的服務,而不同的服務又可以使用更多的從數據庫,這樣方便以後的擴展。

圖片服務器采用二級域名的形式對外提供圖片共享服務

後台管理人員:

管理人員從浏覽器訪問我們的後台應用程序服務器,通過後台應用程序管理圖片服務器(圖片部分)和數據庫服務器(數據部分)的資源。

我想至此,你應該明白了(一)中,為什麼後台應用程序直接訪問業務邏輯層,而商店應用程序需要通過服務層訪問業務邏輯層了,因為伴隨數據訪問量增大,我們可以將服務根據功能需要,部署在多個服務器上,以緩解訪問壓力,而後台應用程序不會出現訪問量增大的現象。

然後從項目組件上考慮,我們創建10個項目:

App——電子商店前台頁面展示

是BS架構的項目,選擇最新的MVC4框架。

BLL——業務邏輯

業務邏輯的操作,包括業務處理,事務等。

DAL——數據訪問

數據庫訪問的操作,數據實體,數據校驗,使用Entity Framework。

IBLL——業務接口

業務邏輯層的方法對外暴露的接口和服務契約。如:App項目和Shop項目。

Common——公共組件

整個應用程序使用的公共輔助方法。

ModelingProject——模型設計

在此設計項目的圖例,如:架構圖。

WcfHost——服務宿主

為電子商店前台系統的服務提供宿主,使用微軟WCF技術。

WFActivitys——工作流活動層

定義了工作流的活動,使用微軟WF技術。

WFDesigner——工作流設計器

實施人員自由配置工作流的設計器,使用微軟WPF技術。

Shop——電子商店後台應用程序

是BS架構的項目,選擇最新的MVC4框架。使用EasyUI腳本庫。

選型

工具選擇VS2010 SP1 + SQL Server2008 + 狼奔代碼生成器

技術選擇EF + WF + WCF + MVC4 + EasyUI

參考資料

Windows_Server_AppFabric

狼奔代碼生成器

文/ben@langben@com

copyright © 萬盛學電腦網 all rights reserved