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

來源:互聯網
上載者:User

閑暇之餘準備開發一套電子商店的網站,要求能夠面對大資料量,高並發。我會將實現的全過程記錄下來,並通過部落格分享給大家,當然最後也會把這個電子商店網站免費開源,希望大家多多拍磚。

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

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

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

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

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

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

客戶:

客戶從瀏覽器訪問我們的商店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

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.