仓酷云

标题: ASP.NET网页设计对.net体系架构改革的一点履历和教导仓酷云 [打印本页]

作者: 再现理想    时间: 2015-1-18 11:17
标题: ASP.NET网页设计对.net体系架构改革的一点履历和教导仓酷云
C#中有两处地方用到new关键字,第一处也是最常见的一处是用在调用构造函数的时候,这种情况也是大家见的最多的一种。另一处是用在派生类中,作用有隐藏成员,切断继承关系等,相信第二处的用法大家明显要比第一处生疏。在互联网行业,基于Unix/Linux的网站体系架构毫无疑问是现今支流的架构办理计划,这不单单是由于Linux自己充足的开放性,更由于环绕传统Unix/Linux社区有大批的成熟开源办理计划,掩盖了网站使用扩大的各个方面。
我记得十几年前第一波互联网海潮的时期,接纳Windows平台ASP架构的年夜型网站长短常提高的,而现在接纳Windows平台.net架构的年夜流量出名网站已百里挑一了。良多接纳Windows平台.net架构的年夜型网站都面对了架构上的扩大成绩:
比方外洋的SNS网站MySpace网站面对过很严峻的功能扩大成绩,国际电商网站京东也不止一次受困于架构扩大带来了功能瓶颈。因而,一些Windows平台.net架构为主的网站,不能不思索“往.net化”,丢弃.net,周全迁徙到以Java为主的架构上。
可是年夜型网站的架构迁徙,自己也是伤筋动骨的事变,风险极高,乐成案例尚未几见,失利案例俯拾皆是,这是由于:
5173“往.net化”的教导

5173网站以游戏设备买卖发迹,已经在客户端收集游戏开展黄金时代,迎来了营业发作性的增加期。此时,用.net架构开辟的网站已不胜重负,因为现有的.net研发团队临时没法办理网站的功能成绩,5173决意将网站从.net架构周全迁徙到Java为主的架构上。为此,5173花了很年夜的价值,从淘宝和SUN公司挖了良多工程师,构成了一个六七十人的Java架构研发部门。
新的Java研发部门开辟新的5173网站,而老的.net研发部门保护现有的5173网站,两个部门并行事情,两个版本的网站并交运行,这带来了公司外部剧烈的政治奋斗,新开辟完成的Java版本的5173网站从未正式上线过,老的.net研发团队在面对严峻保存威逼的情形下,勉力办理了一些中心的可用性和不乱性成绩。同时跟着端游黄金时期的停止,网站功能成绩也渐渐显得不再主要。
在环绕新版本网站是不是要正式交换老版本网站的成绩上,各个好处方争吵不下,反重复复拉锯战,而空降而来的女CTO不属于任何派系,立场不置可否。终极奋斗的了局.net好处方克服了Java好处方,Java研发部门被洗濯。
我的.net体系架构改革的履历和教导

3年前,我刚接办公司的产物和研发团队的时分,中心体系约莫2/3是Windows平台.net架构,1/3是LAMP架构。研发职员事先也很少:只要2个.net程序员,3个PHP程序员,厥后另有1个我带过去的Ruby程序员。事先的企图是:网站全体架构改革的偏向是Linux架构,渐渐交换失落现有的.net体系。因而不盘算持续雇用和增补.net程序员了,现有的.net程序员卖力老的中心体系保护事情。
但硕果仅存的2个.net程序员在随后不到半年工夫都走了:一个.net程序员随着微软出来的高管往创业,另外一个.net程序员跳槽往百度做了前端工程师。这两头的事理也很复杂:既然公司要往.net化,那.net工程师就会忧虑比及未来.net体系都换失落以后,本人在公司另有代价吗,不就完全边沿化了吗?
固然我在制定架构迁徙企图的时分,也思索到了这一点:我给谁人更资深的.net工程师制定的是全部公司总架构师的培育企图,谁人精晓JS的.net工程师制定的是将来前端团队Leader的培育企图。不外有不确性的答应老是不如实际的威逼更急切,以是我也出格可以了解.net工程师的流掉。
这个时分,我堕入了一个两难的处境:

事先,我最后的设法是:雇用2名程度尚可,没有太年夜长进心,能够安于近况,脚踏实地事情的.net程序员来保护老的.net中心体系;同时雇用和搭建ruby研发团队,以我已往用ruby开辟网站的惊人开辟效力,争夺工夫,一一重写老的.net中心体系。可是如许做,风险也很年夜:
侥幸的是,我雇用过程当中,口试到了两个相称不错的.net工程师,有很强的长进心,编程功底和悟性都很好。固然不切合我事先想找安于近况的工程师的尺度,但我又不太想错过好的人才网,以是我一时改动了本人的设法,将他们招过去,组建了新的.net团队。
为了不呈现之前.net团队流掉的成绩,给新的.net团队制造在公司开展的时机和空间,我想来想往,决意接纳一个折中的计划:即保存和相沿.net编程言语和框架,可是网站全体架构仍旧往Windows化,提要说来:
复杂说来,就是纯真让.net做使用层的编程言语和框架,其他都交给Linux平台的开源办理计划。而.net框架纯真做使用层,不管ASP.netMVC的开辟效力,仍是.netCLR假造机的运转效力都十分好,今朝我们单台Windows服务器上跑几百万的静态哀求毫无压力,并且使用层架构是能够横向扩大的:假如哀求负载十分高,只必要增加更多Windows服务器便可。总之,做到了取长补短。
别的,我也对照注意分歧编程言语研发团队之间的交换,勉励.net工程师熟习Linux操纵体系,培育.net工程师全体架构认识。我们如今的主力.net主干和我说,感到离开这里今后手艺上最年夜的提拔就是视野一下被翻开了。
在厥后两年的全部网站改革过程当中,也证实了如许的做法是相称乐成的:
当网站架构周全Linux化,而且架构办理计划全体一致今后,实在在使用层用甚么编程言语来写,就不是一件主要的事变了,我们今朝使用层现有产物线,既有.net,也有PHP和Ruby写的,可是架构都是一致的,用甚么编程言语,次要取决于研发团队资本的分配情形而定。
总之,以我的履历来讲,一个传统上严峻依附微软办理计划架构的网站,假如要举行架构改革,迁徙到Linux平台,乃至用其他编程言语重写,历来都不是一个纯真的手艺成绩,它最少触及以下几个层面的成绩:
一点题外话

我感到我们互联网行业有一个不太好的征象:有些网站在促销时代瘫痪了,有些网站常常呈现会见不不乱的征象,公司老板就喜好跑到微博下去放狠话,请上司品茗,大概急就章的嚷嚷百万年薪招CTO,这些都是很稚嫩的做法。这就比如一团体,寻常生存习气差,灯红酒绿,从不注重摄生,了局天长日久上去,终究病倒了。在这个时分狠狠的挥动支票嚷嚷,哪一个名医能给我华陀再世,我给谁百万待遇。
也许唯一可以让世人留恋net网页编程的理由就剩下它的王牌——跨平台。
作者: 蒙在股里    时间: 2015-1-20 19:49
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
作者: 简单生活    时间: 2015-1-29 18:18
现在的ASP.net分为两个版本:1.1和2.0Asp.net1.1用VS2003(visualstudio2003)编程。Asp.net2.0用VS2005(visualstudio2005)编程。现在一般开发用的是VS2003。
作者: 再见西城    时间: 2015-2-6 03:08
那么,ASP.Net有哪些改进呢?
作者: 因胸联盟    时间: 2015-2-15 07:05
使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。
作者: 小女巫    时间: 2015-2-17 00:47
现在主流的网站开发语言无外乎asp、php、asp.net、jsp等。
作者: 深爱那片海    时间: 2015-3-5 13:40
Servlet的形式和前面讲的CGI差不多,它是HTML代码和后台程序分开的。它们的启动原理也差不多,都是服务器接到客户端的请求后,进行应答。不同的是,CGI对每个客户请求都打开一个进程(Process)。
作者: 小妖女    时间: 2015-3-5 22:48
ASP在执行的时候,是由IIS调用程序引擎,解释执行嵌在HTML中的ASP代码,最终将结果和原来的HTML一同送往客户端。
作者: 柔情似水    时间: 2015-3-11 06:41
ASP.net的速度是ASP不能比拟的。ASP.net是编译语言,所以,当第一次加载的时候,它会把所有的程序进行编译(其中包括worker进程,还有对语法进行编译,形成一个程序集),当程序编译后,执行速度几乎为0。
作者: admin    时间: 2015-3-17 22:47
通过这次激烈的讨论,我从大家身上学到了太多,开阔了眼界,不管是支持我的还是骂我的,都感谢你们。
作者: 海妖    时间: 2015-3-25 04:05
JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2