前言
自己在博客園也游歷了一年左右,對博客園中博友們發的博文每天也是多多少少也看了不少,自己也從中獲益不少。因為自己現在是在做.net網站的,所以對網站也是多多宜善。也看到許多大神們自己的開源網站、開源架構,當然了其中有太多都沒看懂,自己幾斤幾兩自己也很清楚。有時候也經常寫幾個簡單的小demo,但是做整個網站,還真是沒有過。這幾天自己也一直在想,要自己也做一個網站,肯定能從中獲得更多的樂趣和知識。先不說自己做什么樣的網站,自己這兩天花了一點時間,在想自己網站的一個簡單的架構吧。因為自己懂得畢竟還少,所以設計能力肯定還是很有限度的,當然要盡我所能了,同時更是希望廣大的博友,大神們來給支支招,吐吐槽吧。好了,多了也不說了。
網站架構
開發環境 64位Win7
發布環境 IIS架設網站,WCF服務發布為Windows系統服務(隨電腦一起啟動,當然也可以設置手動開啟)
開發工具 VS2010 +數據庫SQL Server 2008 +代碼管理器SVN
主要使用 Asp.Net MVC 3.0、WCF等來實現網站的功能。
直接上圖
接下來就看着上圖將網站架構,暫作說明:
MySoftWare.BaseModel ===>>>所有的實體類結構定義
MySoftWare.BaseCommon ===>>>公共的類庫方法(字符串處理、各種數據轉換等等)
MySoftWare.DataAccess ===>>>數據庫訪問層
MySoftWare.DataCommon ===>>>數據庫業務層
MySoftWare.DataWCF ===>>>WCF服務接口和WCF服務實現層
MySoftWare.MyFrmWCF ===>>>WinFrom窗體承載WCF服務
MySoftWare.MyServices ===>>>Windows系統服務(將WCF發布為系統服務)
MySoftWare.SimpleMVC ===>>>MVC UI層
MySoftWare.SimpleMVCCommon===>>>數據處理邏輯層
MySoftWare.SimpleMVC.Tests===>>>單元測試項目
MySoftWre.ProjectExTension===>>>項目擴展(預留)
最上面的兩個是公用項目,然后下面是依次引用的項目引用主線
MySoftWare.SimpleMVC需引用MySoftWare.BaseModel、MySoftWare.BaseCommon、MySoftWare.SimpleMVCCommon
MySoftWare.SimpleMVCCommon需添加服務引用 MySoftWare.DataWCF的服務。
MySoftWare.DataWCF需引用MySoftWare.DataCommon
MySoftWare.DataCommon需引用MySoftWare.BaseModel、MySoftWare.BaseCommon 、MySoftWare.DataAccess
MySoftWare.MyFrmWCF需引用MySoftWare.DataWCF。來運行承載服務,運行服務。
總結
初步的架構就是這樣。我考慮的是可以將網站進行分布式的部署,網站程序和WCF服務程序。當然最簡單的可以網站程序、WCF程序、以及數據庫都可以在一台服務器上,那么這樣就是失去了分布式架構的意義。可以在很多的服務器上分別部署很多的網站程序,分別部署很多的WCF程序,這樣在很多程度上可以分擔很多的壓力(比都部署在一個服務器),性能有很多的提高。當然還要考慮成本、環境等等各方面的原因。
接下來我要想的是網站內容我到底要做什么,怎么做,怎么做好了。做個簡單的計划,不能太盲目嘛。