京東今天還在用.NET架構(gòu)的原因是什么?
被人邀請(qǐng)來回答這個(gè)問題,我覺得這個(gè)問題有三個(gè)部分:
1)為什么京東選Win/.NET平臺(tái)
2)選Win/.NET平臺(tái)行不行?
3)京東的系統(tǒng)的問題是什么?
1)為什么京東選Win/.NET平臺(tái)?
我覺得京東用.NET的原因應(yīng)該很簡(jiǎn)單:一開始他就用.NET/Windows了,所以長(zhǎng)期就這樣了。
那么,為什么他會(huì)一開始用.NET呢?這個(gè)東西就只能我就只能推理了。Windows的東西門檻低,而且有很多媒體為Windows做宣傳,所以,在這個(gè)大多數(shù)人是井底之蛙的國(guó)度里,大多數(shù)人都會(huì)用Windows平臺(tái)的。(10年前,這個(gè)社會(huì)上非Windows的工作很難找,幾乎全是Win的天下,我在CSDN上寫了一些文章來告訴大家其實(shí)Unix/Linux比Windows要好得多。當(dāng)時(shí)沒人理解,現(xiàn)在大家可能能夠理解了)
所以,我估計(jì)京東的選型用.NET的最一開始是報(bào)著這樣的心態(tài):
1)隨便找?guī)讉€(gè)程序員幫寫一下,越快越好,所以可能是那幾個(gè)程序員覺得熟悉Win/.NET,可以快速搞起來。
2)覺得業(yè)務(wù)比技術(shù)重要,技術(shù)無所謂,做出來了就好了。
這是我覺得最有可能選擇Win/.NET的原因,是無心去選擇的。
2)選Win/.NET平臺(tái)行不行?
接下來的問題是選 Windows和選Linux有沒有哪個(gè)更好,我想說的是,都還不錯(cuò),不要以為選Windows就不好。但選 Windows 的好處并不一定在技術(shù)方面,而是在服務(wù)方面。
很多金融機(jī)構(gòu)都是用Windows的平臺(tái)(你可能會(huì)和我爭(zhēng)吵國(guó)內(nèi)的銀行都不是Windows的平臺(tái),都是Unix的平臺(tái),是的,我也是在銀行里做過的,中國(guó)的銀行幾乎都是IBM/SUN/ORACLE的領(lǐng)地,所以,那里都是AIX、RISC600,Solaris,Java,C/C++的地方),但是國(guó)外很多金融機(jī)構(gòu)卻更多用的是Windows。為什么呢?
金融機(jī)構(gòu)并不在乎錢,他們有的是錢,他要的是穩(wěn)定,不出錯(cuò),出了問題能得到***的售后服務(wù),以及賠償。這里我說一個(gè)我的親身經(jīng)歷,我的上一家公司是做金融的,他們用的是Windows,有一天在生產(chǎn)線上,因?yàn)樯?jí)McAfee把Windows搞藍(lán)屏了,dump了一個(gè)16GB的dmp文件(內(nèi)存16GB)。打電話找微軟,開了一個(gè)0級(jí)的ticket,于是,微軟的工程師每一個(gè)小時(shí)都給我打一個(gè)電話,告訴我他們的進(jìn)度,并讓我?guī)退麄兪占畔?,相?dāng)?shù)膶I(yè),直到很晚很晚,我問他們什么時(shí)候下班?他們說,0級(jí)的問題他們無法下班,7x24小時(shí),每一個(gè)小時(shí)要做出響應(yīng),不能睡覺,直到問題解決。這是我***次享受微軟的技術(shù)支持,我覺得相當(dāng)?shù)貪M意。
另外,關(guān)于Windows的性能,我在上一個(gè)公司用Windows 2008 RC1,發(fā)現(xiàn)UDP的I/O性能相當(dāng)差,我們10GB的光纖帶寬用了不到1GB,CPU 0的利用率就頂?shù)教炝耍€是內(nèi)核級(jí)的,我們?cè)趺磧?yōu)化我們的程序都不行,發(fā)現(xiàn)這是Windows的問題,UDP的驅(qū)動(dòng)性能太差,而且操作系統(tǒng)總是會(huì)把內(nèi)核級(jí)的程序綁死在CPU0上,我們知道,對(duì)于多核的CPU,CPU0有調(diào)度的作用,如果CPU 0性能被占滿了,這意味著這個(gè)CPU上的其它核的性能也不行了。后來,問題報(bào)給了微軟,Windows 2008 RC2解決了這個(gè)問題,解決地非常好。
從上面的我的經(jīng)歷,我想說:
◆ Windows的服務(wù)是很不錯(cuò)的,只要你愿意花錢。
◆ Windows平臺(tái)的性能有很多問題,但是可以看到MS在很努力很努力地解決。
當(dāng)然,我個(gè)人是相當(dāng)不待見Windows的。不過,這只是我的個(gè)人喜好。并不能說Windows不是一個(gè)成功的操作系統(tǒng)或是服務(wù)器。我覺得比Unix成功多了(這里的Unix是各種公司的Unix,比如:HP-UX, AIX, Solaris, IRIX ...)。
這是我想回答的第二個(gè)問題,京東的問題和用Windows沒有關(guān)系。但是作為超低利潤(rùn)的零售業(yè)來說,能用Windows這個(gè)平臺(tái)真是大手筆啊。
3)京東的系統(tǒng)的問題是什么?
京東的系統(tǒng)的問題,明顯是自己架構(gòu)和管理的問題。這個(gè)東西不能說得太細(xì),不然就泄露機(jī)密了。 呵呵。
1)首當(dāng)其沖是管理者的問題。不覺得技術(shù)重要,不聽技術(shù)人員的建議,急功近利,超,快,猛。
2)其次是開發(fā)團(tuán)隊(duì)的人的問題,亂來。當(dāng)然,有客觀條件和上級(jí)逼著他們不得不亂來。
總之,我并不覺得這是技術(shù)問題,這分明就是管理問題,管理上的問題則暴露的是人的問題。
下面有些個(gè)人觀點(diǎn):
1)有些人說有問題就有機(jī)遇,還有些人說花高薪招人吧。我覺得這還得要看是什么情況,如果公司注重技術(shù),那么就會(huì)有機(jī)遇。但是重視技術(shù)絕不僅僅是用高薪請(qǐng)人,向技術(shù)部多投錢,這是膚淺的認(rèn)識(shí)。所謂重視技術(shù),就一定要能讓技術(shù)部門有話語權(quán),沒有話語權(quán)的技術(shù)部門,是不可能有機(jī)遇一說的。(京東已經(jīng)在花高薪挖人了,花相當(dāng)?shù)母叩腻X,但是如果不注重技術(shù),一切都是白搭)對(duì)此,我覺得不換高管,別無他法。
2)有些人讓京東換架構(gòu)。是的,很明顯這個(gè)架構(gòu)太差了。但是你真的無法對(duì)一輛正在高速行進(jìn)的車更換(核心)零部件。你必需得讓車停下來!而且,還得需要像F1那樣的設(shè)計(jì),那才能很快地更換部件。從這點(diǎn)來說,我覺得京東除了重新開發(fā)一套,別無他法。
以上回復(fù),不見得對(duì),僅供參考。(謝謝)
【編輯推薦】