如何開發高性能低成本的網站之技術選擇


每個企業都是慢慢發展起來的,在起步階段成本是一個不得不考慮的重大問題 。直接入正題:

 

前台框架:  ASP.NET MVC + Jquery + Json + Flash , ASP.NET MVC 高性能速度快,Jquery 簡潔成熟的Js基礎框架 , Json 數據格式體積小 ,傳輸快。Flash 用於開發復雜的頁面交互應用。

 

緩存方案

Memcached , 基於Key-Value的傳統Cache儲存方式 , 高性能 而且它內置LRULeast Recently Used)機制自動維護緩存數據,從而 提高緩存的性能和負載能力。

MongoDb , 數據庫級別的緩存解決方案 , 適合海量的數據緩存 , 支持查詢

 

權限模型:

基於ASP.NET MVC RBAC , 控制對象粒度到Action , 控制操作粒度 是否能訪問。權限基於Cookie/緩存記錄認證信息 , 在用戶登錄時就計算出該用戶的所有權限並緩存。

(優點:直接通過AOP做橫切面控制,不需要設置權限點 ;缺點:無法控制到同一個Action有增、刪、改、查等更細的操作粒度,不同的操作需要制作不同的Action , 表面上要多幾個Action , 其實這樣做職責更加分離,更加符合OO的觀點)

 

多語言解決方案:

         服務端, 基於資源文件,完美配合ASP.NET MVC 前段框架 ,進行各項數據驗證及提示等

         客戶端, 同樣基於資源文件, Page頁面采用script 導入序列化的資源文件 ,按名詞空間引用 ,如Resources.Book.AreYouSure Js變量. 對於flash等可以通過Json 傳遞。

 

數據通信:

服務端,WCF , WebService

客戶端,  HttpRequest 數據類型Json

 

數據訪問層:標准接口化,不對數據實現依賴。

         Entity Framwork , 適合只使用SQL Server 的解決方案, 開發效率最高

         NHibernate , 支持多數據平台 ,開發效率較高 , 性能一般

         ADO.NET, 完全靠開發實現,開發效率低 , 性能較高

         性能和效率按正常水平評估

 

解耦辦法:

         IOC , 依賴注入 ,

         AOP , 橫切面攔截 ,權限中的推薦做法

 

負載均衡:

         Nginx , Web前端的負載均衡解決方案 , Nginx 開源免費,高性能 . (Tengin 淘寶基於 nginx 的開源項目 , 增加了很多實用的功能)

 

頁面提速:

      實時性要求不高的頁面可以做靜態化 ,頁面的部分動態內容可以通過SSI處理 ,然后數據更新就主動生成頁面。頁面靜態化,通過XSLTCMS生成機制可以對生成的頁面內容進行壓縮。

      靜態資源文件拆分出去做獨立站點,加上服務端的GZIP/Deflate壓縮等操作,最好配上二級域名,已加快客戶端HTTP下載.更加方便以后做CDN. 盡量減少Http請求數量。

 

SSO:

      如果有多個站點,統一認證可以降低開發維護等成本.

 

數據庫:

      Mysql , 成熟,開源.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM