我在京东众筹上买了一个l6g的内存,买的时侯是25·9元,回来了是3I·9元为什么

京东今天还在用 .NET 架构的原因是什么?
用 .NET 架构对大型互联网服务有什么劣势?
按投票排序
123 个回答
被人邀请来回答这个问题,我觉得这个问题有三个部分:
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就不好(StackOverflow就是.NET平台)。另外,选 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 也好,用 PHP /Java 也好,都能开发出来很牛的网站来。但是使用语言的人和由人构成的技术团队的差异那就太大了。据说京东老刘最早也写代码的,估计就是用微软的技术写东西的。最早的工程师估计也都是用微软的技术干活儿的,而这些人随着公司的壮大,逐渐就有人掌权了,这就形成一个什么局面?话语权是属于微软体系的人。即使有人想用其他技术体系来做点东西,那要面对很大的阻力才成。「习惯」是一个团队很难改变的,除非从上往下推动,但是这样又风险太大。加上还要跟上高速发展的节奏,那就继续跑吧。看到路边的电动自行车了没?非常灵活,快的时候能跑到40迈,但是真的危险。话说回来,京东做活动搞得挺狼狈,是运维的能力、架构设计、底层数据支撑的水平还不够。其实算下来,交易量并没有多少笔,相比一些纯交易型的网站差太多了。几年前和京东的相关人员交流过一次,发现意识和技术储备实在是和他们的名气不匹配。说这话又得罪人了。另外,提个建议,京东前端也太弱了。另外参考:编程语言的选择并非无关紧要(还是我1月份时候写过的)
linux的优点不是稳定,是便宜windows的缺点不是bug病毒不稳定,是服务太贵
首先80%是管理问题, 然后剩下的20%责任里面有80%是架构的问题, 所以技术上的问题只是那20%里面的20%, 换算下来是4%
如果我是京东老总, 我肯定不会换人,我会尊重技术领头人的意见,如果领头人在技术上面有限制有瓶颈, 我会花钱让他去学习去深造。 我相信这是大多数技术人员所喜闻乐见的老总, 而不是技术一出问题就忙着换人。
如果我是京东的技术领头人, 我应该反思自己的行为和规划,架构来源于生活,如果我的生活不完美, 做出来的架构自然也不完美。
再说技术问题,.net和java都是枪, 关键还是用枪的人, 机关枪不一定就能比狙击枪更有效率, 关键还是用枪的人。做技术的人自己应该反思自己的开发态度, 我在设计和开发的时候真的想过所有的问题吗? 还是说为了项目和进度我损失了设计和思考的时间?
最后我帮京东老刘发发牢骚: “当初我们6,7个人, 7,8条枪的时候,你们这些牛人都在哪里呢? 愿意自降身价来我这里吗? 现在我们生意做大了,你们就来说我们技术不够好, 太不地道了!”
1.关于性能.我诧异,还有人一谈到这个问题是首先想到性能啊?????人多了,就有人的招聘,和管理,协调问题.你可以用什么lisp的人搞,但你需要扩大规模的时候,比如,你需要1000人搞lisp,你上哪儿给我招去?有人开玩笑说,用delphi是快速实现,用c是快速运行,用java是快速招人.有些公司要招java,没什么别的原因,就因为他发现他到学校去问的时候,人家学生都是学的java.为什么他要到学校去问去招人?因为老板们不混技术圈,不是每个老板都在iteye csdn上一堆粉丝.机器多了,有机器的安装和管理问题.现在,假设你有10000台windows服务器,又有10000台是debian,还有10000台是比如sun的系统.你现在需要整个监控系统,你发现,操,snmp协议,windows支持的版本只能到2c,不能支持版本3!好多东西这个版本搞不定!凡此种种,不再列举.这跟性能没一毛钱关系.2.关于工具.
是的,技术只是实现业务的工具.没错.语言不是问题,问题在于使用工具的人.都没错.但是,到了一定规模,你会发现,真的,就算微软的人天天蹲你这,也解决不了问题.请询问相关公司的运维团队,架构团队.尤其那些从.net换到java平台,或是从php平台换到java平台的.
工具不重要么?工具很重要.小李飞刀为毛要用飞刀啊,用菜刀不也一样杀人么?
.Net也不见得什么场合都不能满足需求,淘宝用Java好,不见得你用Java也好.淘宝用上万台机器,用Hadoop来分析日志,想上hadoop集群玩还得排队,你就不到10台机器内存加起来还不够人一台机器,你就不能用hadoop,你自己装个awstats玩玩就可以了.
当你是CTO时,你不可以说工具不重要技术平台不重要.每一个决定都得慎之又慎.刘强东可以选错平台,因为对他来说选技术不是他的主要任务.至于京东内部,也许很多部分也已经在进行调整了,如果.net不能满足需求,不用几年京东会全面更换,肯定不会因为这个死掉.发现问题,他们会解决问题.3 关于选择
每个决策的背后总有各种各样的原因;你可能永远无法知道,也许某个公司制定上下班时间不是朝九晚五而是朝十晚六的原因是某个VP想接送孩子,也许某个公司选某个方案不选另一个只是因为某公司业务员说错了一句话让某个头儿觉得没面子,当然也许某个方案被选中是因为某人觉得便宜的那个似乎太便宜了,很多时候可能真不关乎利益,就这么就定下来了.
为什么京东选择.Net?不是当事人,谁也说不清楚.4.其他关于windows和linux的零零碎碎
在省钱方面:首先,大部分观点认为windows和linux省钱.这个其实也不是特别绝对吧,像我在雅虎的时候,用的redhat,当然雅虎也自己定制了一部分,不过很多服务器上的包都是没有更新的,要用的话也得从redhat搞,redhat的收费其实也不低.像那些unix系统,收起银子来大把大把地收费.而且使用windows有好处就是,人员招聘快,人力的成本也低.02,03年,好多人不就是从动网论坛走了了网站开发的路啊,我认识一些部队复员或是在打字店出来搞开发的朋友,都是windows平台.让他们一开始就搞unix,没法入手的.那会学点asp就出来找工作,工资要求也都很低.几百块钱几千块钱就可以找人弄个网站....
安全性啊性能什么的:我不太懂,不乱说了.反正很多人喷说windows不够安全,我不太懂,不过我觉得也不至于说那么夸张吧,你用什么家庭版装个东西啥也没配,当然不够安全了.服务器版应该好多了吧,,服务器什么的老被破的话.京东还用挣钱么.性能方面,第一是没那么重要,第二是没你想的那么差.好多人就是人云亦云的,跟着起哄而已,人家说windows安全性差,你也说,人家说windows性能差,你也说.你自己攻破过京东的凡客的windows服务器?你自己做过性能测试?5 结语:
一步步来吧,有的人自己就是高手,或是有技术圈子认识的人,那么可以容易招到人,技术上可能一开始就好一点,有的人可能就是光着膀子扛电脑起家,一买一卖挣点小钱,进淘宝学用支付宝用了好几个星期,认识的人最懂的也就是会ghost装xp的,那就将就着呗,有什么用什么吧.
京东有一天说,我这个系统,跟不上我的发货能力了,我要换,他们自己会考虑.跟我们这帮外人没啥太大关系,放心吧,老刘发现淘宝一天轻轻处理数十亿交易而已自己一亿交易额处理也费劲的解放后我,他会过问会想法处理的.能发展到现在,有什么槛过不去呢,要我们这帮房子都买不起的人指责人家为什么还要用.net?
个人认为京东开始就选择了.net平台,所以接下来的管理平台也都采用了NET的平台来做
关于语言没有好还是不好,只有适合不适合。京东也算是大公司了,作为电商来说,稳定性可能是最重要的,换平台不是一天两天的事情。凡客和当当也有NET方面的在做,大多数都是在混着用。
1.windows平台和Linux平台价格的问题,Linux的商业授权也不便宜。
2.平台的性能和语言无关,只和设计的人有关,一流的架构能跑三流的语言,三流的架构不一定跑得动一流的语言。
3.刘强东半罐子的技术成功了,而知乎里很多技术牛逼的还在回帖讨论什么架构牛逼。其实用什么来做适合就好,没有必要打个手枪还要配合金弹头======================================================================突然发现这个有上知乎推荐了,在补充一下,首先.net和其他语言的优势是什么?优秀的IDE支持,快速开发。还是前面所说的,和语言无关,只和架构有关,或者说和架构的人有关。大部分说.net性能如何,被绑在了windows的平台上,其实都是没有做过或者说没有深入的做过方面的开发或架构。和java或php一样,越来越多的人将数据库迁移到mysql下,Memchche,redis这些NOSQL缓存主键也都是部署在linux下面。还有各种负载等等混搭着使用。有人说不是windows平台的吗,不还是用了linux了吗?谁说做就一定要在windows平台。大家要是有兴趣可以在infoq上面找找大众点评的架构asp.net+mysql参考一下。在一个系统中最大的压力是来自哪里?通常最先吃紧的不是应用服务器,而是数据库服务器。在说说开源的事, 微软已经开源了部分的C#的源码。有兴趣可以找找微软开发了一个称为共享源码公共语言基础(Shared Source Common Language Infrastructure, Shared Source CLI)的可用于FreeBSD, Windows Mac OS X的和. NET实现版本.微软的共享源码协议并不是开源软件协议,且可能对于社区来说也是不足够的(它明文禁止了对软件的商业用途).我们还可以见到另外一个. NET实现版本, Portable NET项目,该项目与Mono项目有着很多相同的目标.而Mono作为c#的跨平台实现,也是一个很好的学习内容。======================================================================现在说一下为什么开发感觉性能差。在初期的时候作为webFrom的方式存在,和桌面程序一样,是用来拖控件玩的。这导致了大部分的开发人员在初学的很长一段时间里都只会拖控件,绑定控件。而的服务器控件性能差是众所周知的(每次操作都要和服务器交互)。这样导致的程序员的水平良莠不齐。不想java上来就ssh,php上来就是框架模版之类的。在很长一段时间里上来就是拖控件。可想而知在同样的学习时间里,做出的东西无疑是最差的。但是越来越多的人意识到服务器控件的不可用,渐渐的也抛弃了服务器控件。而微软也意识到了这个问题推出了 MVC 。目前已经到4.5的版本。各种开源组件,框架也出现在了的平台上。所以性能差并不是语言本身的问题,而是开发人员的问题。===================================================================对于互联网来说有什么劣势?互联网大部分php、java的,而且怎么个架构,都有了一套很成熟的架构方案,而这方面的技术也是非常的多。有很多成功的参考,而架构方面的屈指可数。继续补充,市面上多有的架构文章,你只需要把php或java的部分替换成就成。比如你同样可以用nginx来做反向代理,用各种缓存 消息队列 分布式的文件系统。用法都一样,只是把你web的那部分替换成了.net.当然如果只是web的话, MVC 3.0已经能够完美的在mono的环境下运行。我在mono环境下运行过一个文档生成的服务。使用nginx 或是apche的的mono_mod或jexus来做运行环境。在开发的时候值需要注意一下不要使用windows平台特有的api,路径斜杠的问题等。基本上能够跨平台运行。
其实一个重要问题很多人没有考虑。那就是盗版... 其实京东是用了多年的盗版软件的(至少09年之前是如此的,现在已经和微软和解并合作),上面所说的授权费之类问题的都不存在,而且例如开发速度较快、人力成本较低之类的对于一个初创直到变大的公司不知道有多宝贵。
现在规模起来了,微软也盯上了,现在正在做转型,一两年内大概会转完。
现在京东的问题恐怕是架构不给力,数据库瓶颈过于突出。
说.net问题,好像国内很多电商都用这个的,例如当年的当当,现在的新蛋网和易迅、凡客
这个不是问题,架构不合理才是。现在这些企业的订单量远远没到.net难以处理的程度现在同样是出于成本和未来的考虑,从.net转向Java。此一时彼一时也。
京东用.net是因为京东一开始的后端进销存体系就是.net基础的......这是关键点,创业团队就是用.net技术,而且这也是他们团队所熟练掌握的技术,也未尝不可,只是随着系统逐渐变大,越来越复杂,船大调头难......只不过这次搞促销活动,使其系统真正地面临大并发的负载而出现问题,使大家聚光到.net+SQL Server技术上,其实真正掌握好和用好,也是没问题的,你看人家纳斯达克不是挺好的....关于这些写过了一篇文章,推荐给大家:IT人角度分析京东商城Server is too busy事件 @大熊“当然这里话说回来,国内大多数进销存以及ERP也都是.net基础下的” 纠正一点,早期主要是用PowerBuild开发的,而且市面上几乎是被PB和Delphi占据了ERP和MIS系统开发技术的80%以上....只不过这些4GL语言没跟上时代的步伐,错误判断导致与互联网行业失之交臂,从而走下历史舞台.....但是.net却抓住机会打了翻身仗.....
一:历史原因,在京东刚刚起步的时候,用.NET是完全能够满足他自身发展需求的。但是,他的发展速度 都可能超越自身的预计。所以在对原有架构的调整就涉及到原来系统中的。业务流,资金流,数据流的整体平移。要保证无问题,无错误的整体调整,这个量级是很吓人的。二:现在京东整体架构。开始调整为JAVA了。已不在招.NET人员了。三:京东现在目前的问题,在做基数数据的管理,在SCM【供货商的管理,供应商考核,采购管理,退货管理】确实问题比较多。有点尾大不掉的感觉了。
去年发的一篇文章,应该比较符合主题,纯个人观点,多多交流。
原文冯大辉谈技术性创业团队的技术选型提到了天涯,好吧!站在一个天涯从事6年运维工作的角度,我就多说几句,天涯属于破釜沉舟要摆脱这种束缚的这一类。原因不用多说,文中提到的问题天涯多少都有碰到或存在。目前已全面拥抱开源技术,这不是一时头脑发热所做出的决定。根据现状、未来的发展策略理性来选择的。Windows服务器很难做到大规模的部署、管理与维护。打个比方,一个中级工程师可以很轻松维护500~700台Linux服务器,相比之下300台windows服务器就能让管理员力不从心了。原因是windows平台在集群管理方面还是很弱,只能自己开发一套工具或购买商业软件来实现,这样一来无疑给公司带来了高成本。另一点是Windows OS/Service本身就不便宜,具体价格请拨打MS-800。经常有朋友问,windows服务器操作简单,动动几下鼠标就可以完成一项任务。而Linux需要敲N多命令才能完成相同的操作。告诉我为什么说windows管理成本比Linux高呢?这个得从Windows适用的场景说起,比如较低的技术门槛、中小规模集群等。很难想像通过鼠标在1000台服务器上去完成一项任务,这也是windows2008中引入PowerShell的原因吧。
再说说天涯目前使用开源技术现状,已经在包括前端缓存、应用代理、WEB服务、数据库服务、开发框架、Nosql、负载均衡器、运维工具等方面大量被使用,涉及到天涯整个技术体系的每个角落。运用开源技术架构,给应用平台提供了高性能、可扩展、高可用性的解决方案,同时也大大节约了成本。另一个好处是碰到问题总能找到解决方案。交流空间、个人视野都得到了开阔。天涯是一个使用开源技术并回馈开源的公司。虽然 不能贡献顶级的开源项目,至少可以尽自己一份微薄之力。在期间,天涯共开源了8个项目,涉及运维管理、Nosql等。包括“天涯LVS管理系统”、"天涯服务器管理系统(C/S版)"、"SDR1.0-Linux主机集中管理"、"Varnish缓存推送平台V1.0"、"高性能数据引擎Memlink"等等。这些项目得到诸多同行及网友的支持,收到大量的反馈建议。部分项目已被第三方公司所使用或进行改良升级。希望更多热衷于开源技术的朋友加入,一起学习,一起提高 。
下面给准备从微软技术转开源的一些建议,任何技术平台的变迁都需要付出代价。除了前期做大量的技术储备外,还应根据自身的应用及技术特点选择合适的开源架构。天涯一路走来,不断在尝试-&失败-&回滚-&再尝试的过程。如何给企业选择适合的开源技术构架呢?
一、开发语言
如果是web2.0的网站,注重快速开发、快速实现。我们看到web2.0是数据组织结构在不断变迁,从最典型的SNS到目前炙手可热的微博。个人建议选择敏捷开发或胶水语言,如php、python、ruby等。它们都具有开发速度快、入门门槛低、功能强大等优势。web2.0的兴起带动了这类技术的普及,招人已经不成问题。经常有朋友问,说脚本语言会不会很慢?我相信很多人都存在这样的困惑。可以肯定的是95%的应用平台的瓶颈不会在语言的运算上,建议花更多的时间在代码算法、缓存、数据库及网络结构的优化上,这才是比较务实的做法,相信你会得到意想不到的效果。对于电子商务型的网站,注重安全、稳定、高效等,java作为主流电子商务开发技术为首选。凭着成熟的中间件技术、跨平台性,可复用性高、多层架构等优势,在国内大型电子商务平台普遍使用,如网上银行、在线支付、在线购物、证卷等业务。
二、数据库&Nosql
MS SQLServer转开源数据库,Mysql是所有开源数据库中最活跃的,具有体积小、高性能、稳定性高及跨平台等特点,提供大部分编程语言API。在web2.0网站中大量被使用,Nosql是2010年IT界的技术亮点。与关系型数据库的关系是相辅相成的,不存在代替的关系,所适用的场景也不一样,Nosql的诞生是为了解决关系型数据库存在的缺陷,比如高密集的IO、大量数据的存储及查询、数据的扩展、分布式等等。个人推荐Mysql+memlink/Mongodb的组合,相互可以弥补各自的不足,将需要事务的数据让关系型数据库来存储,非关键且大存储数据全部丢给Nosql,这样的好处是可以保证数据的一致性的同时提供高效的数据查询。随着业务量的不断增长,需要更多的处理节点加入集群,个人推荐集群模式为多组One-Master-&Multi-Slave,可以减少数据同步出现的延时及应用的复杂度,便于维护。组的划分是根据应用业务层进行,这样有非常好的扩展性。大致结构为:App Layer &---&Routing layer&---&LVS&---&Slave note。以最简单的策略满足复杂的需求,因为简单就是美。
三、负载均衡
我们的原则是高并发、逻辑简单走4层架构,比如LVS。7层架构着重在流量不高、规则要求比较灵活的应用中部署。例如URL哈希、过滤、路由、拆分等等。个人推荐Haproxy、Nginx。好的URL规则可以提高30~60%的缓存命中率。参考架构:F5/LVS&---&Haproxy&---&Squid/Varnish&---&AppServer。
四、运维平台
运维是一项复杂、细致的工作,我们可以借助大量的开源工具来实现监控、操作、分析、部署等工作。Cacti、Nagios作为监控、分析的佼佼者,是运维人员的必备工具。现重点讲一下我们在“操作”这块是如何实现管理成百上千台服务器的,以Func、Cfengine作为基础平台,在此基础平台上进行开发、扩展日常操作管理模块。包括“天涯LVS管理系统”、"天涯服务器管理系统(C/S版)"、"天涯服务器管理系统(HTTPS版)"都是基于该平台引伸出的项目。
除了以上所述,还有缓存技术、全文检索、分布式存储、云计算等都有非常成熟的开源解决方案,希望开源技术架构能给您多一种选择。
如大家有什么疑问或感兴趣的话题可以通过weibo与我交流:
显然是架构的问题,关.NET什么事情。说几点我一直存在的观点:.NET社区也很大,说需要看微软脸色行事,“需要等微软开发”之类的观点没有任何道理。.NET和Windows、IIS性能很好,不信我们可以做benchmark,我做过很多次了,什么几万rps绰绰有余,绝对超过你程序能达到的性能。Windows Server做Web服务器很便宜,授权费一点点。.NET没必要非得用SQL Server,自己限制自己只是冤大头而已。.NET和Linux一起用很正常,缓存,数据库,负载均衡什么的。StackOverflow用.NET好好的,甚至没几个非.NET的项目达到MySpace的规模的。MySpace失败跟技术.NET没关心,否则请给出证据。我有证据:其他想到再补充……PS:还是在想,京东既然用.NET那么多问题,怎么从来不联系下我,呜啦啦。
1、做活动宕机,最大的原因是2个,一个是服务器硬件问题,是一个是网站架构问题,和java或.net开发平台无关。2、有人拿淘宝活动不宕机和京东活动宕机做比较,殊不知两个网站并不是同样的架构设计,如果是同样的架构设计,JAVA不宕机,.net宕机,那么是.net的问题,但是并非同样的架构设计,这种说法就有些蒙人了。3、同意熊哥说的老刘的技术出身阻碍了京东的技术发展。
/a03/.shtml
在京东中,邮件系统以前就是C#和.net,那个架构师还在,只有他看得懂那个老系统,现在也都在重新改造,用java -----这是我同学明年的工作计划--2015.12-------------------------------------------------------------京东目前已经大量采用Java作为后端架构了-----------------------------------分割线------------------------------------------------------------京东商城技术揭秘:.NET与Java博弈 00:00【IT168 技术】春运期间,铁道部的现任老大12306网站在面对日均10亿多次的点击量时,频繁瘫痪,给我们带来的惨痛教训是,关键时刻不能掉链子,这也印证了科技是第一生产力。  而说起中国自主经营式B2C网站的行业老大,京东商城在2011年第三季度京东商城创下了37.8%的市场占有率。日,京东商城6周年店庆当天订单量接近50万单、单日销售额超过2亿元,在中国电子商务市场创下单日销售量历史纪录。那么,面临如此大规模并发访问压力,京东商城采取了何种技术架构的B2C系统来支撑其运营呢?前端采用.NET技术架构  说起京东商城,不得不提到它的掌门人,2011CCTV十大经济人物“刘强东”。刘强东毕业于中国人民大学,理科超强的他业余时间自学编程。在创立京东商城的早期,刘强东选用了最为熟悉的.NET,直到现在,京东商城的前端部分仍然沿用.NET技术架构。后端采用Java技术  京东商城连续六年200%以上的增长率,并不能掩盖其背后隐含的技术难题。比如,在日京东商城的图书促销活动中,由于促销活动仅限时1个小时,消费者疯狂抢购导致服务器不堪重负,最终瘫痪。为平息消费者的抱怨,刘强东在微博上表示:“重搞活动,增加3倍服务器,活动时间不能低于3小时。”尽管刘强东的危机公关做得很到位,即使京东商城增加了三倍服务器,技术问题依旧没有解决。  随后京东商城进行了技术构架调整,基于历史原因前端技术依然使用.NET技术开发并且进行了大规模的性能优化,将系统后台使用JAVA技术进行重构,暂时性的缓解了系统访问压力。  据最新消息,京东商城已经投入了大量资金邀请国外的咨询公司做技术策略顾问,并开始大规模招聘JAVA研发人员,这一点从京东商城的“人才招聘”页面就可以看出。预计在未来不久京东商城将全面切换至JAVA架构了。团购采用PHP技术  据团购导航网站团800最新统计,2011年国内团购市场交易总额达110亿元,比2010年实现了550%的增长;超过3亿人次“抱团”消费,而按全年平均折扣3.6折计算,团购为全国消费者共节省了超过190亿元的消费支出,比2010年多省了156亿元。  看看上述这组数字,就不难想象京东商城对于团购的蛋糕是多么的垂涎欲滴。与众多团购网站一样,京东商城的团购频道采用了高效率的PHP技术。与其它语言相比,PHP是将程序嵌入到HTML文档中去执行,执行效率比完全生成HTML标记的CGI要高许多;与同样是嵌入HTML文档的脚本语言JavaScript相比,PHP在服务器端执行,充分利用了服务器的性能;PHP执行引擎还会将用户经常访问的PHP程序驻留在内存中,其他用户在一次访问这个程序时就不需要重新编译程序了,只要直接执行内存中的代码就可以了,这也是PHP高效率的体现之一。PHP具有非常强大的功能,所有的CGI或者JavaScript的功能PHP都能实现,而且支持几乎所有流行的数据库以及操作系统。UI采用jQuery插件  习惯网购的朋友都深有体会。大部分皇冠级淘宝卖家都是图片控。京东商城的放大图效果也是吸引消费者的法宝之一。京东商城产品展示页支持多图切换并放大代码,放大功能的核心代码为jQzoom,当把鼠标移到下边的小图上的时候,上边显示大图片,当把鼠标放到大图片上,右侧则出现鼠标对应地方的大图片,方便查看产品细节,比较适合网店产品展示。  JQZoom 是一个JavaScript图像放大镜,内置在流行的jQuery JavaScript框架顶部。jQzoom 功能非常强大,操作较为简单。支持标准模式、反转模式、无镜头、无标题的放大,并可以自定义jQZoom的窗口位置和渐隐效果,更多信息,请查看。  今日,京东商城高调宣布招聘2万人。笔者查看了一下京东商城招聘页面,发现很多研发职位。这也从侧面回击了专业人士关于“京东商城大手笔在抢购市场上烧钱,但其物流和后台系统技术上却没有跟上脚步”的质疑。相关问题
一个火药味的话题,首先我认为提问者问题限制范围没有限制到精确范围,你是说整个体系架构是用.NET 还是仅仅是前端用.NET?如果说是整体架构:随便拿一个京东的图片链接,乱改写文件名,可以得到一个返回结果,404 Not Foundnginx那么这样一看京东就使用了Linux平台下的nginx做代理,至于文件缓存有可能使用了varnish又或者其它的技术,那么说何以见得京东是整体架构选择了.NET呢?如果说是Web端:那么我告诉你用.NET一点都不慢,IIS也很快。 数据库我可以选择Oracle/MySQL/MSSQL,一切看实用场景。
同样业务层我根本不会放在Web端,我可以用一个Linux集群来做业务处理,语言我可以选择Java/Node.js/Python/Ruby/等等。什么叫做架构设计?
为了达到整体性的目标,那种技术适合就选用那种技术。我现在设计架构时候, MVC还是我的首选,为什么,以为IDE好用,开发效率快,数据库、业务层用什么技术,我得根据该业务的规模来判断。最后表示,楼主,回炉重造吧你。
虽然国内的进销存都用.net,你的web网站就得选择用.net吗?这个逻辑根本讲不通。那些拼命批判windows贵,说linux便宜的人,真不知道怎么想的? .net开发的低成本表现在速度快,效率高,人员工资成本低等方面,这个对于创业型企业不知道多宝贵嘛?用linux固然好扩展,但你要烧多少高香才能找到好的架构师来帮助你,而且还得找到好的技术开发人员。那些批判.net架构性能不高的人,你们真了解.net社区的庞大嘛?去看看国外有多少企业级应用都用.net,不仅是安全上的问题,更重要的是广泛的支持。.net社区中有非常多的针对优化技术、高性能分布式缓存、数据库、NoSQL的解决方案,拜托都去了解一下再说好不好。京东IT系统的核心问题,应该是当时架构设计的问题,与平台和语言都无关。估计现在也是因为前后台系统相互依赖性太强导致,前台显示库存与后台的库存直接相连,这设计也太土了点。至于myspace,这事要是怪.net,微软真的委屈死。真不知道是谁造了那个微软一群人去myspace总部支持运维的谣言?那bebo和friendster都末落,难道都要怪他们语言和平台选错了?这几个满篇错误逻辑的回答居然得到这么多人支持,真是太扯了。
用.Net,意外着你被捆绑在Windows平台上。不是.Net效率本身比Java,PHP差,语言其实差别很小,差距在于:1. Windows Server授权费太贵,Linux免费,如果你有上千台服务器需要买上千台Windows授权......2. Windows不但贵,性能还远远不如Linux,注意这里说的是服务器端性能,跟桌面一点关系都没有3. 许许多多无数的开源、高端服务器组件只有Linux/Unix版本,移植到Windows上的基本是半残品4. 许许多多优化技术、高性能分布式缓存、数据库、NoSQL解决方案等等,仅针对Linux5. 你需要的一切组件和技术几乎都可以在Linux平台上找到免费、稳定而且高性能的东东,如果是Windows平台,你需要祈祷微软赶快开发出来6. 在虚拟化的今天,一台高性能服务器可以跑十几台虚拟机,用Linux,你得到的是免费、稳定的虚拟机,用Windows,你一台服务器的授权费将 x N。总之,立志做大型互联网应用的企业,绝对绝对绝对不可以用Windows Server做平台。京东一开始估计招了会.Net的人,开发效率高不意味运营效率高,一开始大方向错了,越往后越难改。== 补充一点 ==不是不看好.Net语言本身,而是这是Windows Server和Linux平台的对决,要先选对平台,再考虑具体用什么语言开发。平台选错了,无论你怎么努力,都不可能最终成功,因为Windows不是你控制的,你也无法修改Windows,而全世界最优秀的开发人员每天都在为Linux添砖加瓦。做互联网要抛弃大企业那种IT外包/“给微软OracleIBM付费即可做好IT服务”的思想,一切均要靠自己!
像京东这样级别的网站用 .NET 方案绝对是一种技术债务。既然是债务,和财务债务一样,nothing more:
借的时候可能欠考虑。还没觉得有还的必要。要还的时候可能还得起也可能还不起。觉得 .NET 不是债务的观点我都强烈反对,就凭我看到的对 Microsoft 的评论和我在 Microsoft 待过的短短 8 个月。因为做 rock solide server side 的人必须有一种固执的坚持,看看 Linux kernel mail list 上的很多讨论你就能感受到。而在 Microsoft 是财务说话。Office team 提的要求,kernel team 有时必须接受。这种氛围,即使偶尔有几个 server architect 大牛也改变不了整体潮流。
没大家说的那么严重,为什么选.NET的原因其实很简单。我做如下阐述 抛砖引玉,大家就当听一乐呵算了。老刘当年创业的时候可能也没想过京东能搞到现在这么大的规模(现在采访可能会说“我创立京东当天就知道会有这种规模了”,这话别信),所以就随便的找了一门变成语言,可能是.NET入门级别较低易于上手,所以就一直采用这套架构来弄了。后来随着业务不断壮大,元老级员工水平较为一般,光为图省事所以系统设计就越来越烂,才发展到现在讨论的这个层面。其实和语言已经没有多大的关系,问题是出在设计上。为什么需要转JAVA?很多支离破碎的事情拼到一块了,呵呵。原因一:自身水平不够,后来招来的一些人都是JAVA体系的,内部也在吹嘘JAVA如何如何牛X。说的时间长了,大家也被感染了,所以就要转JAVA架构了原因二:现在的.NET体系所有软件均为盗版软件(无一例外),MS来查了几次,所要罚款(一个天文数字),后来就导向JAVA这种免费体系了,有一段时间内部开发.NET还用UBUNTU系统,搞得民不聊生,可笑不?原因三:外界论坛与开源机构都对JAVA做了非常大的支持,非常流行。其实有几个核心人物也不知道为啥要用JAVA体系,只是说“外面和我们一样牛X的公司都在用JAVA开发,所以我们也要用”。这里说点更搞笑的,他们一直以为淘宝、当当是php+JAVA(中间通讯手段就不说了),所以京东也要模仿这套体系,大举招PHP程序员。记得有一次与淘宝的人做内部交流问淘宝为啥要使用PHP做为前端,淘宝回复“我们没有用PHP啊”,当前所以人全部哑火了,人白招了,哈哈。还有一次居然要用PHP+C实现,这个是模仿FACEBOOK,估计要是用了笑话就闹的更大了。
发现还是很多人掉的“微软”这个怪圈里了,只要是微软的都是霸道的,不符合黑客精神的。不做实际的测试就瞎指责,带着自己的喜好色彩去评论问题。选择平台有选择平台的考虑。语言有语言的考虑。以业务为中心,去抉择架构,根据成本去选择平台和语言。
各位叫着StackOverflow或者Joel Spolsky打脸的同志们,其实StackOverflow也有约来越多的东西在用Linux,参见
目前看来还主要是Cache和Routing的服务,如果流量真的进一步上升,抛弃SQL Server指日可待。
在08年的时候,StackOverflow的确还全部都是Windows/.NET平台的内容,参见
大型互联网应用不应该使用.NET这样的结论我认为是没错的,无论是从效率,架构,人员招募,.NET都有一些劣势,包括
1. License Fee, 这有两个因素,一个是需要钱,第二个是即使费用不高,你还是要费口舌去说服大家花这个钱
2. 系统运维,Windows Server看起来操作简单,但是真正有能力做大型互联网产品的系统运维的人员,恐怕找Linux的比Windows Server的便宜得多
3. 开发成本,前端App使用.NET比之Python和PHP并没有什么特别优势,后端比之Java也什么特别优势,找中等以上架构水平的人数也相对更少,如果是真的高性能高并发的搜索、广告这样的需求,也是C/C++的天下,而且你也必然不会使用Windows Server.
话说以前有句笑话说得好,学习微软技术只有两种可能,一种是被微软弄得没饭吃,一种是到微软混饭吃。
对于大型的互联网企业,绑死在大型商业公司上绝对是技术战略上的重大错误。

我要回帖

更多关于 京东商城 的文章

 

随机推荐