开发者社区> zting科技> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

谈谈用ASP.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开发的大型网站,就应该闭上他们的嘴!大型网站的开发,人的能力和合理的架构才是关键所在!



本文转自武沛齐博客园博客,原文链接:http://www.cnblogs.com/wupeiqi/archive/2013/05/16/3082248.html,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
跟我一起学习ASP.NET 4.5 MVC4.0(六)
原文http://www.cnblogs.com/xdotnet/archive/2012/07/21/aspnet40_webpage20.html 这一系列文章跨度有点大,由于最近忙于其他事情,没有更新,今天重新安装了下Win8系 统,VS2012和SQLServer 2012,顺便抽空继续一篇。
968 0
跟我一起学习ASP.NET 4.5 MVC4.0(一)
原文 : http://www.cnblogs.com/xdotnet/archive/2012/03/05/aspnet_mvc40_preview.html   由于上面一个项目使用的是ASP.NET4.0 MVC3.0,在招人的时候发现很多人有听说过MVC,但是却是没用过,对MVC也只是一知半解,最近想给团队成员做一个系统的解说,让大家都可以学习一 下ASP.NET MVC3.0。
1076 0
跟我一起学习ASP.NET 4.5 MVC4.0(二)
原文http://www.cnblogs.com/xdotnet/archive/2012/03/06/aspnet_mvc40_keywords.html 上一篇文章中(跟我一起学习ASP.NET 4.5 MVC4.0(一)) 我们基础的了解了一下ASP.NET MVC4.0的一些比较简单的改变,主要是想对于MVC3.0来说的。
961 0
跟我一起学习ASP.NET 4.5 MVC4.0(三)
原文 http://www.cnblogs.com/xdotnet/archive/2012/03/07/aspnet_mvc40_validate.html 今天我们继续ASP.NET 4.5 MVC 4.0,前两天熟悉了MVC4.0在VS11和win8下的更新,以及MVC中的基础语法和几个关键字的使用。
921 0
跟我一起学习ASP.NET 4.5 MVC4.0(四)
原文http://www.cnblogs.com/xdotnet/archive/2012/03/27/aspnet_mvc4_authorize.html 前几个文章中介绍了一些关于MVC4.0的东东,今天我们来看一下登陆验证,也可以说是 权限验证,即AuthorizeAttribute。
852 0
跟我一起学习ASP.NET 4.5 MVC4.0(五)
原文http://www.cnblogs.com/xdotnet/archive/2012/03/29/aspnet_mvc4_html_control_checkboxlist.html 前面几篇文章介绍了一下ASP.NET MVC中的一些基础,今天我们一起来学习一下在ASP.NET MVC中控件的封装。
886 0
+关注
3549
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载