標籤:img min lin get 情況 mysq unity 需要 貴的
在上篇文章裡(http://www.cnblogs.com/ms0017/archive/2011/07/26/2117676.html),列舉了國內外用ASP.NET開發的大型網站有哪些。最後提到了用.NET開發的大型網站和LAMP/JAVA平台的成本比較。其實在很多時候,收費的不一定就比免費的成本更高。因為開發一個網站要使用哪個平台的技術更合適,需要考慮很多種情況(除了開發技術本身,還要考慮人工,開發效率,時間,後續的支援,維護等等),要綜合計算成本才行。微軟平台本身雖然是收費的,但總體的成本並非一定比LAMP/JAVA高,上篇文章列舉的國內外的那麼多基於ASP.NET開發的大型網站就是例證。尤其是在開發效率上,無論是開發語言,還是VS開發工具,.NET明顯比其他兩個平台更勝一籌。而這一點正是互連網企業所需要的。效率就是生產力。並且,由於有Mono(http://mono-project.org/)這個.NET開源項目的存在,.NET技術也可以在linux/bsd等開原始伺服器上使用。使.NET完全可以實現跨平台應用。據此,我們可以分windows/linux兩種方式來架構我們的ASP.NET網站:
一、Windows平台
在Windows平台下開發大型網站,很多人首先想到的是Microsoft軟體高昂的許可費,覺得成本一定很高。其實,這裡有個誤區。我們開發ASP.NET網站,web伺服器完全可以用Windows server的WEB版本windows web server 2003/2008,它們並不貴。(參考http://hi.baidu.com/slmt/blog/item/d1533a12a6cc335af919b863.html,才3k多rmb)。貴的地方,應該是SQLServer資料庫和支援它的windows server企業版。它們確實很貴。但我們開發網站不一定非要用SQLServer啊。資料庫可以使用在linux下部署mysql,postgresql等開來源資料庫。(並且也可以考慮用mongodb等開源NOSQL資料庫)。相信一般的中大型網站有十幾台web伺服器就足夠了。(可參考用.net開發的福士點評網的架構配置http://www.infoq.com/cn/presentations/wh-dianping-web-develop/,十幾台web伺服器,就足以支撐每天4500w的訪問量)。如果再大點,有個百八十台web server,那也不過才30w人民幣而已(當然,只是指軟體)。網站如果真能做到那種規模,這點錢應該也不算什麼了吧。當然,如果你真能做到像myspace那種超大型的.NET網站,你應該可以直接找微軟要優惠價來批量購買了。呵呵。
二、Linux平台
如果真的不肯在伺服器上花一分錢,就要用完全免費的。我勸你根本不必因此而放棄.NET強大的生產力,而選擇其他平台,因為還有Mono。你可以通過類似Linux+Apache/Nginx+Mono的組合來代替Windows+IIS來架構完全免費的ASP.NET WEB SERVER。目前國內外也有了很多基於mono開發的網站案例,如:
http://www.haokaimen.com/
http://www.stockren.com/
(此外,還有像Unity3D,Xamarin等國外知名公司在基於mono開發應用)
在linux上架設mono的方法有很多,可以參考如下博文:
配置linux(apache) + mono 下運行 asp.net
http://www.cnblogs.com/hcl0208/archive/2010/10/25/1860173.html
Ubuntu10.10下Mono2.10+Nginx+fastcgi 部署asp.net網站
http://www.cnblogs.com/xiaogangqq123/archive/2011/02/28/1967345.html
另外,還有兩款支援在linux下運行ASP.NET網站的國產免費WEB伺服器軟體推薦。
可以點這裡查看國內外用ASP.NET開發的大型網站有哪些。
補充:
見不少同學反映本文不夠給力,沒有真正的提到實際的架構,而只是泛泛而談windows和linux。其實關於大型網站架構的文章網上有太多太多了。如,是國內某基於asp.net的大型網站的架構設計圖,其實不管是.net還是java/LAMP,不管什麼平台,道理都一樣。(大圖)
在本架構圖中,如果把iis替換成apache,SqlServer替換成mysql,也一樣成立。合理的架構是跟平台無關的。最看不慣的是某些業內所謂的高手,說大型網站用asp.net不行,沒有java/LAMP好。相信看了這個架構圖,再想想bing,hotmail,myspace,match,360buy,qidian等等基於.net開發的大型網站,就應該閉上他們的嘴!大型網站的開發,人的能力和合理的架構才是關鍵所在!
談談用ASP.NET開發的大型網站有哪些架構方式(成本)