`
javatracker
  • 浏览: 24762 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

互联网网站架构升级----编程语言的转变

阅读更多

    目前互联网飞速发展,各种编程语言不断出现,越来越多的互联网创业团队选择这些具有高效开发效率语言,如Ruby、PHP、.Net等,而Java这种看起来比较笨重的语言似乎在互联网领域越来越落寞。

    然而随着公司的发展,特别是开发人员几十人、几百人甚至上千人的时候,这么多人维护一个项目将是一个噩梦,拆分在所难免。这个时候就要回过头来重新审视初始选择的语言及系统架构了,看这种语言能否应付大团队系统作战,是否有成熟的大型分布式解决方案,甚至是否会影响公司上市后的股价,于是架构升级开始进行。

    架构升级有三种,一种是在原有语言上进行升级,一种是前台继续沿用老的语言,后台转向更规范的,更能适应大团队作战的,有更多成熟解决方案案例的的语言,比如Java,还有一种是彻底的所有系统都转向某种语言。至于采用哪种策略,各个公司会根据投入和产出作出取舍,这里不是讨论哪种方案是最好的,没有最好的,只有最适合的。但不管采用哪种语言,业务拆分是在所难免的。

 

    先从编程语言方面来讨论一下架构升级,由于这里Java的社区,就将被转向的新语言定为Java,实际上有不少公司也确实是转向了Java。目前使用Ruby开发遇到瓶颈的公司应该不太多,但使用PHP和.Net做前期开发语言,中期遇到瓶颈正寻求突破的中型公司应该有一些。这些公司中有的进一步和相对封闭一点的语言(如.net)捆绑在一起,在老语言的基础上实现分布式架构;有的前端Web部分仍用老语言,后端核心业务被抽出用Java语言实现,同时引入Java基础框架和中间件来做底层支撑技术;而另一部分则彻底的完全倒向了Java系统。

 

    这三种方式有各自的好处和不足,大中型系统转向Java系统技术上不存在什么问题,毕竟已经有很多成熟的方案在大公司已经被多次证明是可行的,而且还有大量的开源组件来支持。语言的转变最大的问题来自于人,一批辛辛苦苦把网站一点一点做起来的、眼看着自己的劳动成果已经获得了用户的认可的、公司快要上市自己也将要收获果实的老开发人员,他们对这套系统有很深的感情,也有很大的利益,抛弃了老的语言,也就是抛弃了他们的劳动成果,也阻断了他们在这个公司的前途,甚至影响了他们即得的利益。这个时候他们面前只有两条道路可走,一条是离开,但辛辛苦苦熬了那么多年,眼看就快要上市了,此时离开肯定心有不甘;另一条就是向Java转变,但面对大批的空降而来的Java方面的高端人才,他们的优势是什么?也许你会说是业务,是的,是业务,他们本该拥有技术和业务两种优势的,现在就变成了一种,而这种优势又成了博弈的砝码,向左转可以结合Java的技术的优势使公司更上一层楼,但向右转就可以阻止Java技术来实现本公司的业务,使业务迁移失败,使公司被迫再次走上老语言开发之路,使自己重新获得技术和业务上的双重优势。

 

    实际上大部分转型公司的大部分人都会走上抵制新语言之路,这不是这些人有多么恶劣,这是人之常情,是利益所在。用Java每迁移成功一个项目,就等于埋葬了别人的一个成果,就阻断了别人的一块利益,是人都会有抵触情绪的。这时就要看公司对这些人做出怎样的补偿了,或升职加薪给期权,或使公司业务更快发展,新的业务的开拓可以减轻老员工的失落感。

 

    这时候公司通常会采取上面的三种策略方式,如果公司在原来已经有了大量技术上和高端人才上的积累,而且对在老语言上进行架构升级也比较有信心,那么公司一般会采取这种最稳妥的方式--在老语言的基础上进行架构改造。如果对老的语言进行大型分布式架构升级没有太大的自信,但又怕老开发人员产生大的阻力,同时对Java语言也没太大信心的话,就会对前端业务不动,先从后端改造开始,比如引入一些Java中间件产品,抽出一些稳定的核心应用用Java实现,后期再看是将所有系统都改成Java语言还是前后端采用两种语言。最后一种是由于本公司本来就没有什么基础技术的积累,对老语言的将来没多大信心或者觉得会影响公司将来的发展,那么公司将会下大决心将语言转变进行到底,为公司后期告诉发展打下良好的基础。

 

 

 

   

    

13
1
分享到:
评论
9 楼 uu4u 2010-10-06  
说的没错,我也曾这样把别人替代了。
事实上对于商业而言,都是求速度、和经济收入,但是一旦之前埋下的隐患快要爆发,发展速度下降、经济收入降低,动了老板的筋骨,他肯定要实施一种策略去改变现状,寻求一种符合趋势和降低成本的解决方案。
8 楼 tedeyang 2010-10-04  
确实,
语言转型总是是造成一批人的离职.
我经历过这种事.
7 楼 javatracker 2010-09-28  
木哥哥 写道
YY强身。


没YY,而是深处此种水深火热之中,有感而发。
6 楼 木哥哥 2010-09-28  
YY强身。
5 楼 blogaaa 2010-09-26  
很复杂也很简单的问题,老板的才华和魄力以及得力的助手
4 楼 javatracker 2010-09-25  
forchenyun 写道
ntyangxd 写道
为什么一定要转JAVA呢,给人很有自恋的感觉,很多大型网站还不是在用PHP,Python之类的。后台的优化又不代表一定是语言的优化,服务器软件,硬件,数据库,方方面面涉及的很多的。

你有点局限于语言了。

对php不了解,但是python你想让数百上千个人去维护,有点开玩笑了
语言不代表架构的优劣,但是语言背后的社区和opensource决定了你未来架构的走向,至少在国内是这样


恩,是的,我这里没说一定要转某种语言,而是有三种策略,在原有语言上升级,前端不转后端转,或者完全转,快速开发语言注定大团对作战比较麻烦,你要说一定在这个上面做那就要花大气力,而且大型系统这种语言的成果案例的多少、开源社区的支持、这方面人才的多少都是要考虑的。当然转语言也有很大风险,关键看公司实际情况。
3 楼 forchenyun 2010-09-25  
ntyangxd 写道
为什么一定要转JAVA呢,给人很有自恋的感觉,很多大型网站还不是在用PHP,Python之类的。后台的优化又不代表一定是语言的优化,服务器软件,硬件,数据库,方方面面涉及的很多的。

你有点局限于语言了。

对php不了解,但是python你想让数百上千个人去维护,有点开玩笑了
语言不代表架构的优劣,但是语言背后的社区和opensource决定了你未来架构的走向,至少在国内是这样
2 楼 ntyangxd 2010-09-25  
为什么一定要转JAVA呢,给人很有自恋的感觉,很多大型网站还不是在用PHP,Python之类的。后台的优化又不代表一定是语言的优化,服务器软件,硬件,数据库,方方面面涉及的很多的。

你有点局限于语言了。
1 楼 j2eeli 2010-09-25  
分析得有一定深度

相关推荐

Global site tag (gtag.js) - Google Analytics