科技资讯媒体ITFEED

首页 电商 互联网 硬件 创投 生活

京东今天还在用 .NET 架构的原因是什么?

网友

陈皓:

被人邀请来回答这个问题,我觉得这个问题有三个部分: 
1)为什么京东选Win/.NET平台 
2)选Win/.NET平台行不行? 
3)京东的系统的问题是什么? 

1)为什么京东选Win/.NET平台? 

我觉得京东用.NET的原因应该很简单:一开始他就用.NET/Windows了,所以长期就这样了。 

那么,为什么他会一开始用.NET呢?这个东西就只能我就只能推理了。Windows的东西门槛低,而且有很多媒体为Windows做宣传,所以,在这个大多数人是井底之蛙的国度里,大多数人都会用Windows平台的。(10年前,这个社会上非Windows的工作很难找,几乎全是Win的天下,我在CSDN上写了一些文章来告诉大家其实Unix/Linux比Windows要好得多。当时没人理解,现在大家可能能够理解了) 

所以,我估计京东的选型用.NET的最一开始是报着这样的心态: 
1)随便找几个程序员帮写一下,越快越好,所以可能是那几个程序员觉得熟悉Win/.NET,可以快速搞起来。 
2)觉得业务比技术重要,技术无所谓,做出来了就好了。 

这是我觉得最有可能选择Win/.NET的原因,是无心去选择的。 

2)选Win/.NET平台行不行? 

接下来的问题是选 Windows和选Linux有没有哪个更好,我想说的是,都还不错,不要以为选Windows就不好。但选 Windows 的好处并不一定在技术方面,而是在服务方面。 

很多金融机构都是用Windows的平台(你可能会和我争吵国内的银行都不是Windows的平台,都是Unix的平台,是的,我也是在银行里做过的,中国的银行几乎都是IBM/SUN/ORACLE的领地,所以,那里都是AIX、RISC600,Solaris,Java,C/C++的地方),但是国外很多金融机构却更多用的是Windows。为什么呢? 

金融机构并不在乎钱,他们有的是钱,他要的是稳定,不出错,出了问题能得到最好的售后服务,以及赔偿。这里我说一个我的亲身经历,我的上一家公司是做金融的,他们用的是Windows,有一天在生产线上,因为升级McAfee把Windows搞蓝屏了,dump了一个16GB的dmp文件(内存16GB)。打电话找微软,开了一个0级的ticket,于是,微软的工程师每一个小时都给我打一个电话,告诉我他们的进度,并让我帮他们收集信息,相当的专业,直到很晚很晚,我问他们什么时候下班?他们说,0级的问题他们无法下班,7x24小时,每一个小时要做出响应,不能睡觉,直到问题解决。这是我第一次享受微软的技术支持,我觉得相当地满意。 

另外,关于Windows的性能,我在上一个公司用Windows 2008 R1,发现UDP的I/O性能相当差,我们10GB的光纤带宽用了不到1GB,CPU 0的利用率就顶到天了,还是内核级的,我们怎么优化我们的程序都不行,发现这是Windows的问题,UDP的驱动性能太差,而且操作系统总是会把内核级的程序绑死在CPU0上,我们知道,对于多核的CPU,CPU0有调度的作用,如果CPU 0性能被占满了,这意味着这个CPU上的其它核的性能也不行了。后来,问题报给了微软,Windows 2008 R2解决了这个问题,解决地非常好。 

从上面的我的经历,我想说:

Windows的服务是很不错的,只要你愿意花钱。
Windows平台的性能有很多问题,但是可以看到MS在很努力很努力地解决。

当然,我个人是相当不待见Windows的。不过,这只是我的个人喜好。并不能说Windows不是一个成功的操作系统或是服务器。我觉得比Unix成功多了(这里的Unix是各种公司的Unix,比如:HP-UX, AIX, Solaris, IRIX ...,比Unix成功是在他的服务和PC的价格上)。 

这是我想回答的第二个问题,京东的问题和用Windows没有关系。但是作为超低利润的零售业来说,能用Windows这个平台真是大手笔啊。 

3)京东的系统的问题是什么? 

京东的系统的问题,明显是自己架构和管理的问题。这个东西不能说得太细,不然就泄露机密了。 呵呵。 

1)首当其冲是管理者的问题。不觉得技术重要,不听技术人员的建议,急功近糙,超,快,猛。 
2)其次是开发团队的人的问题,乱来。当然,有客观条件和上级逼着他们不得不乱来。 

总之,我并不觉得这是技术问题,这分明就是管理问题,管理上的问题则暴露的是人的问题。 

下面有些个人观点: 

1)有些人说有问题就有机遇,还有些人说花高薪招人吧
我觉得这还得要看是什么情况,如果公司注重技术,那么就会有机遇。但是重视技术绝不仅仅是用高薪请人,向技术部多投钱,这是肤浅的认识。所谓重视技术,就一定要能让技术部门有话语权,没有话语权的技术部门,是不可能有机遇一说的。(京东已经在花高薪挖人了,花相当的高的钱,但是如果不注重技术,一切都是白搭)对此,我觉得不换高管,别无他法。 

2)有些人让京东换架构
是的,很明显这个架构太差了。但是你真的无法对一辆正在高速行进的车更换(核心)零部件。你必需得让车停下来!而且,还得需要像F1那样的设计,那才能很快地更换部件。从这点来说,我觉得京东除了重新开发一套,别无他法。 


廖雪峰:

用.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社区也很大,说需要看微软脸色行事,“需要等微软开发”之类的观点没有任何道理。
.NET和Windows、IIS性能很好,不信我们可以做benchmark,我做过很多次了,什么几万rps绰绰有余,绝对超过你程序能达到的性能。
Windows Server做Web服务器很便宜,授权费一点点。.NET没必要非得用SQL Server,自己限制自己只是冤大头而已。
.NET和Linux一起用很正常,缓存,数据库,负载均衡什么的。
StackOverflow用.NET好好的,甚至没几个非.NET的项目达到MySpace的规模的。MySpace失败跟技术.NET没关心,否则请给出证据。我有证据:http://highscalability.com/blog/2011/3/25/did-the-microsoft-stack-kill-myspace.html

其他想到再补充……
PS:还是在想,京东既然用.NET那么多问题,怎么从来不联系下我,呜啦啦。


大熊:

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

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

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

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

发表回复(等你坐沙发)