談談用ASP.NET開發的大型網站有哪些架構方式(成本)

來源:互聯網
上載者:User

轉自:http://www.cnblogs.com/ms0017/archive/2011/08/17/Microsoft-NET-Mono-MySQL-MVC-Linux-Large-WebSite.html

在上篇文章裡(http://www.cnblogs.com/ms0017/archive/2011/07/26/2117676.html),列舉了國內外用ASP.NET開發的大型網站有哪些。 最後提到了用.NET開發的大型網站和LAMP/JAVA平台的成本比較。其實在很多時候,收費的不一定就比免費的成本更高。因為開發一個網站要使用哪個 平台的技術更合適,需要考慮很多種情況(除了開發技術本身,還要考慮人工,開發效率,時間,後續的支援,維護等等),要綜合計算成本才行。微軟平台本身雖 然是收費的,但總體的成本並非一定比LAMP/JAVA高,上篇文章列舉的國內外的那麼多基於ASP.NET開發的大型網站就是例證。尤其是在開發效率上,無論是C#開發語言,還是免費的開發工具(Visual Studio Express,或者MonoDevelop),.NET明顯比其他兩個平台更勝一籌。而這一點正是互連網企業所需要的。效率就是生產力。並且,由於有Mono(http://mono-project.org/)這個開源架構的存在,.NET技術也可以在linux/FreeBSD等開原始伺服器上使用。使.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。並且注意了,一個系統是一次性買,買了可以用N年,現在還有很多大型網站在用win2003,想想已經用了多少年?而人員工資則是月付,幾年下來成本也很高)。貴的地方,應該是SQLServer資料庫和支援它的windows server企業版。它們確實很貴。但我們開發網站不一定非要用SQLServer啊。資料庫可以使用在linux下部署mysql,postgresql等開來源資料庫,並且也可以考慮用mongodb等
開源NOSQL資料庫。一般的中大型網站有十幾台web伺服器就足夠了(也就是3w多人民幣)。如果再大點,有個百八十台web
server,那也不過才30w人民幣而已(當然,只是指軟體)。網站如果真能做到那種規模,這點錢應該也不算什麼了吧。當然,如果你真能做到像
myspace那種超大型的.NET網站,你應該可以直接找微軟要優惠價來批量購買了。呵呵。

二、Linux平台
如果真的不肯在伺服器上花一分錢,就要用完全免費的。我勸你根本不必因此而放棄.NET強大的生產力,而選擇其他平台,因為還有Mono(提示:mono現在已是suse,ubuntu,debian等linux發行版中的預設安裝環境,並且ubuntu本身就有很多代碼是用c#寫的)。你可以通過類似Linux+Apache/Nginx+Mono的組合(或者用Jexus web server[官網])來代替Windows+IIS來架構完全免費的ASP.NET WEB SERVER。目前國內外也有了很多基於mono開發的網站案例,如:
http://www.stockren.com/
http://www.msannu.cn/
(此外,還有像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

三、補充:

見不少同學反映本文不夠給力,沒有真正的提到實際的架構,而只是泛泛而談windows和linux。其實關於大型網站架構的文章網上有太多太多
了。如,是國內某基於asp.net的大型網站的架構設計圖,其實不管是.net還是java/LAMP,不管什麼平台,道理都一樣。(大圖)

在本架構圖中,如果把iis替換成apache,SqlServer
替換成mysql,也一樣成立。合理的架構是跟平台無關的。最看不慣的是某些業內所謂的高手,說大型網站用asp.net不行,沒有java/LAMP
好。相信看了這個架構圖,再想想bing,hotmail,myspace,match,qidian,dangdang,m18,vancl等等基於.net開發的大型網站,就應該閉上他們的嘴!大型網站的開發,人的能力和合理的架構才是關鍵所在!

轉自:http://www.cnblogs.com/ms0017/archive/2011/08/17/Microsoft-NET-Mono-MySQL-MVC-Linux-Large-WebSite.html

在上篇文章裡(http://www.cnblogs.com/ms0017/archive/2011/07/26/2117676.html),列舉了國內外用ASP.NET開發的大型網站有哪些。 最後提到了用.NET開發的大型網站和LAMP/JAVA平台的成本比較。其實在很多時候,收費的不一定就比免費的成本更高。因為開發一個網站要使用哪個 平台的技術更合適,需要考慮很多種情況(除了開發技術本身,還要考慮人工,開發效率,時間,後續的支援,維護等等),要綜合計算成本才行。微軟平台本身雖 然是收費的,但總體的成本並非一定比LAMP/JAVA高,上篇文章列舉的國內外的那麼多基於ASP.NET開發的大型網站就是例證。尤其是在開發效率上,無論是C#開發語言,還是免費的開發工具(Visual Studio Express,或者MonoDevelop),.NET明顯比其他兩個平台更勝一籌。而這一點正是互連網企業所需要的。效率就是生產力。並且,由於有Mono(http://mono-project.org/)這個開源架構的存在,.NET技術也可以在linux/FreeBSD等開原始伺服器上使用。使.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。並且注意了,一個系統是一次性買,買了可以用N年,現在還有很多大型網站在用win2003,想想已經用了多少年?而人員工資則是月付,幾年下來成本也很高)。貴的地方,應該是SQLServer資料庫和支援它的windows server企業版。它們確實很貴。但我們開發網站不一定非要用SQLServer啊。資料庫可以使用在linux下部署mysql,postgresql等開來源資料庫,並且也可以考慮用mongodb等
開源NOSQL資料庫。一般的中大型網站有十幾台web伺服器就足夠了(也就是3w多人民幣)。如果再大點,有個百八十台web
server,那也不過才30w人民幣而已(當然,只是指軟體)。網站如果真能做到那種規模,這點錢應該也不算什麼了吧。當然,如果你真能做到像
myspace那種超大型的.NET網站,你應該可以直接找微軟要優惠價來批量購買了。呵呵。

二、Linux平台
如果真的不肯在伺服器上花一分錢,就要用完全免費的。我勸你根本不必因此而放棄.NET強大的生產力,而選擇其他平台,因為還有Mono(提示:mono現在已是suse,ubuntu,debian等linux發行版中的預設安裝環境,並且ubuntu本身就有很多代碼是用c#寫的)。你可以通過類似Linux+Apache/Nginx+Mono的組合(或者用Jexus web server[官網])來代替Windows+IIS來架構完全免費的ASP.NET WEB SERVER。目前國內外也有了很多基於mono開發的網站案例,如:
http://www.stockren.com/
http://www.msannu.cn/
(此外,還有像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

三、補充:

見不少同學反映本文不夠給力,沒有真正的提到實際的架構,而只是泛泛而談windows和linux。其實關於大型網站架構的文章網上有太多太多
了。如,是國內某基於asp.net的大型網站的架構設計圖,其實不管是.net還是java/LAMP,不管什麼平台,道理都一樣。(大圖)

在本架構圖中,如果把iis替換成apache,SqlServer
替換成mysql,也一樣成立。合理的架構是跟平台無關的。最看不慣的是某些業內所謂的高手,說大型網站用asp.net不行,沒有java/LAMP
好。相信看了這個架構圖,再想想bing,hotmail,myspace,match,qidian,dangdang,m18,vancl等等基於.net開發的大型網站,就應該閉上他們的嘴!大型網站的開發,人的能力和合理的架構才是關鍵所在!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.