万旬的博客

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

转载自

 

http://dreamweaver9.com/article-1898-1.html

 

问:用 .NET 架构对京东这样的大型互联网服务有什么劣势?

用.Net,意外着你被捆绑在Windows平台上。不是.Net效率本身比Java,PHP差,语言其实差别很小,差距在于:

1. Windows Server授权费太贵,Linux免费,如果你有上千台服务器需要买上千台Windows授权......

2. Windows不但贵,性能还远远不如Linux,注意这里说的是服务器端性能,跟桌面一点关系都没有

3. 许许多多无数的开源、高端服务器组件只有Linux/Unix版本,移植到Windows上的基本是半残品

4. 许许多多优化技术、高性能分布式缓存、数据库、NoSQL解决方案等等,仅针对Linux

5. 你需要的一切组件和技术几乎都可以在Linux平台上找到免费、稳定而且高性能的东东,如果是Windows平台,你需要祈祷微软赶快开发出来

6. 在虚拟化的今天,一台高性能服务器可以跑十几台虚拟机,用Linux,你得到的是免费、稳定的虚拟机,用Windows,你一台服务器的授权费将 x N。

总之,立志做大型互联网应用的企业,绝对绝对绝对不可以用Windows Server做平台。

京东一开始估计招了会.Net的人,开发效率高不意味运营效率高,一开始大方向错了,越往后越难改。

== 补充一点 ==

不是不看好.Net语言本身,而是这是Windows Server和Linux平台的对决,要先选对平台,再考虑具体用什么语言开发。平台选错了,无论你怎么努力,都不可能最终成功,因为Windows不是你控制的,你也无法修改Windows,而全世界最优秀的开发人员每天都在为Linux添砖加瓦。

做互联网要抛弃大企业那种IT外包/“给微软OracleIBM付费即可做好IT服务”的思想,一切均要靠自己!

 

 

说实话容易得罪人,但就这个问题我还是想说一下:

京东用.net是因为京东一开始的后端进销存体系就是.net基础的,当然这里话说回来,国内大多数进销存以及ERP也都是.net基础下的。所以京东从一开始就是一个偏后端的厚重公司,在web端的技术以及应用开发上只是凑合能用即可,所以就一直用.net到现在(能用.net支撑WEB应用到现在实属不易了)。顺便说一下,我居然看到评论里有人说myspace在使用.net以佐证 XXXXX问题,可是你知道myspace已经日薄西山了吗?另外,myspace正是用了MS这种土鳖外加不开源架构,错失了一轮又一轮的产品技术上的发展,还给自己带来了不必要的成本上的压力。当myspace到了海量用户的时候,MS要派出专门的小组常驻myspace,帮他们解决问题,这是一件惨绝人寰的事情。

老刘说自己技术出身,但其实我翻了一下老刘自己的履历大概只是10年前做过一些财务系统和小的企业级应用系统,对之后的互联网技术以及高并发大流量下的应用环境,我相信老刘已经非常陌生了。他自己认为的“懂技术”,我想恰恰是京东技术研发一直没有长足进展的最大阻碍。也是导致,京东一有融资就投物流的主要原因吧。在online技术能力以及网站支撑架构上,京东要补的功课还太多。

最新消息是,京东最近在猛招技术研发的大牛,大概要切换成Java架构了。在如此大访问量的情况下,这事应该在2010年之前就做掉,现在做已经算挺晚的了。电子商务公司的木桶,有很多块板组成,电子能力也还是很重要的。希望京东能解决掉现在的问题,跑的更快,发展的更好 :)

 

 

首先语言不是最关键的,我相信用 .NET 也好,用 PHP /Java 也好,都能开发出来很牛的网站来。但是使用语言的人和由人构成的技术团队的差异那就太大了。

据说京东老刘最早也写代码的,估计就是用微软的技术写东西的。最早的工程师估计也都是用微软的技术干活儿的,而这些人随着公司的壮大,逐渐就有人掌权了,这就形成一个什么局面?话语权是属于微软体系的人。即使有人想用其他技术体系来做点东西,那要面对很大的阻力才成。「习惯」是一个团队很难改变的,除非从上往下推动,但是这样又风险太大。加上还要跟上高速发展的节奏,那就继续跑吧。看到路边的电动自行车了没?非常灵活,快的时候能跑到40迈,但是真的危险。

话说回来,京东做活动搞得挺狼狈,是运维的能力、架构设计、底层数据支撑的水平还不够。其实算下来,交易量并没有多少笔,相比一些纯交易型的网站差太多了。几年前和京东的相关人员交流过一次,发现意识和技术储备实在是和他们的名气不匹配。说这话又得罪人了。

另外,提个建议,京东前端也太弱了。
______
1、做活动宕机,最大的原因是2个,一个是服务器硬件问题,是一个是网站架构问题,和java或.net开发平台无关。
2、有人拿淘宝活动不宕机和京东活动宕机做比较,殊不知两个网站并不是同样的架构设计,如果是同样的架构设计,JAVA不宕机,.net宕机,那么是.net的问题,但是并非同样的架构设计,这种说法就有些蒙人了。
3、同意熊哥说的老刘的技术出身阻碍了京东的技术发展。

 

 

个人认为不使用.NET的原因:
1、可以抛弃win 系统
2、不用为组件和授权付出高昂的费用
3、不用看微软的脸色做事。
4、linux系统开源、免费、安全
5、免费软件很多,性能也很好
6、整体架构容易做
______
.net使用成本高,这是事实。
.net偏向于封闭,进步慢也是事实。
讨论语言能力没意义,每一种程序语言都很强大,看架构师能力了。
PHP是潮流,成本低,能力与.Net相当,资源广,适合做互联网,开放。
JAVA成本也不低,京东用java就有点大材小用的感觉。
现在互联网开放平台做得如此火,大部分平台都是PHP的。
除了京东,凡客也还是.net,个人也比较好奇。
________-
在考虑使用什么语言的同时还要考虑用什么数据库。现在主流的也就MYSQL 、MSQL、ORACLE.

一般情况下是php+mysql, .net+msql和JAVA+ORACLE
京东前期用.NET,一定是出于要与MSQL结合的考虑。发展到现在,为了切换到ORACLE,改JAVA是情理之中的。语言只是表像,数据库才是根本。

用什么语言都不会造成宕机的,语言的优越性是实现更多的功能,提高安全机制,提高构架合理性和提高开发效率,真正影响性能的是数据库。

 

 

 

应对大访问量靠的是服务器及网络环境的整体架构,也不是.NET或java或PHP程序上的主要问题,.NET程序一样可以在前端用主流的开源技术做好缓存负载处理等等,我认为在这个环节上不应纠结是否用.NET或java,而是考虑如何从整体架构解决问题
______
流量大到一定程度  甭管你什么平台都没用.
.net开发效率确实高. 企业更关心的是实际使用效果,没人会在意后台用什么.
____
纯推测:早期更偏向后端的物流仓储管理,这方面产品用.Net开发的多,效率也不低。另外可能跟数据库选择有关系,从统计计算、数据挖掘、事务支持、早期维护成本上来说SqlServer所提供的整体解决方案比开源mysql还是有优势的。
____
如果硬要说理由,我只能说京东长期发展采用了这个语言体系,在高速发展时期能等重新另起炉灶搞一套Java或者php的吗,京东是要维持商城系统运行的,在成本许可的情况下,能跑好 那就是适合这个公司的。

说lic问题,你要知道如果Lic收贵了,但相应的技术人员成本也会降低的,维护windows的技术人员和开发人员相对linux平台的可能更成本低些,这些成本可不是1-2天吧,是长期的吧,能眼睛盯着那几个Lic费用吗?

还是那句话,语言、平台不是不重要,但你要看比他更重要的是哪些

 

 

 

我不想从技术角度出发对这个做回答,我从我自己应用京东的经历来说,京东是电商里面最敏捷的。
我09年装房子的时候,在京东采购了4态空调,安装后不满意,声音很大,费了好大的劲才把它退掉了,这过程中,我深感京东的系统和Call Center以及管理流程有很大的缺陷,很不方便,至此,我有近半年没有在京东上买任何东西。直到有一次,我买车载导航仪,比较了一番,京东上做活动的任我游很不错,如是重新开始在京东购物,才发现,京东的系统已经有很大的改进,Call Center也能很快打进了(我退货时Call Center基本打不进,从来直接打电话给他们的采购经理),商品不只是有货/无货状态,还有在途,可调配等多个状态。并且他的派送体系已经可以在线详细的跟踪了。这是一次愉快的购物体验,慢慢的,我逐渐成了京东的铁杆用户。
我想,从一个极度失望的用户重新变成铁杆的用户,这个过程,足以说明,京东的成长和快速改进,其中很大程度上是京东系统的快速敏捷的改进。
还有一个典型的例子,我现在买书基本上在京东,快就是最好的用户体验,特别是技术书籍,一般是要用到相关的东西了才想着找,如果上午订购,下午送到,马上就可以开始研究,你觉得这是什么用户体验? 京东的图书版块经常有活动,这些活动,老刘一声令下,很快做好系统调整,经常打的当当,China-pub措手不及。反观当当老李,说要搞一次活动,一律 6折,一个月前就在微博上放出风了,等了一个多月,说技术部同事在调整系统,还需要一个星期。谁敏捷?当当好像是Java开发的吧?
我是做平台和架构的,我们Java和.Net的东西都用,但业务层面主要是用.Net,其实深入研究过.Net的,你应该知道,它确实在开发效率和性能上有很大的优势,至于什么性能啊、安全性啊、可扩展性之类的,与架构有关,与语言相关不大。
技术是服务于业务的,业务架构和技术架构同等的重要,语言各有优缺,合适就行。
posted on 2011-08-21 13:05  蓝波崖  阅读(2840)  评论(8编辑  收藏  举报