京東今天還在用 .NET 架構的原因是什么?

碼頭工人 13年前發布 | 11K 次閱讀 .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 ...)。 

        這是我想回答的第二個問題,京東的問題和用 Windows 沒有關系。但是作為超低利潤的零售業來說,能用 Windows 這個平臺真是大手筆啊。 

        3)京東的系統的問題是什么? 
        —————————————— 

        京東的系統的問題,明顯是自己架構和管理的問題。這個東西不能說得太細,不然就泄露機密了。 呵呵。 

        1)首當其沖是管理者的問題。不覺得技術重要,不聽技術人員的建議,急功近利,超,快,猛。 
        2)其次是開發團隊的人的問題,亂來。當然,有客觀條件和上級逼著他們不得不亂來。 

        總之,我并不覺得這是技術問題,這分明就是管理問題,管理上的問題則暴露的是人的問題。 

        下面有些個人觀點: 

        1)有些人說有問題就有機遇,還有些人說花高薪招人吧。我覺得這還得要看是什么情況,如果公司注重技術,那么就會有機遇。但是重視技術絕不僅僅是用高薪請人,向技術部多投錢,這是膚淺的認識。所謂重視技術,就一定要能讓技術部門有話語權,沒有話語權的技術部門,是不可能有機遇一說的。(京東已經在花高薪挖人了,花相當的高的錢,但是如果不注重技術,一切都是白搭)對此,我覺得不換高管,別無他法。 

        2)有些人讓京東換架構。是的,很明顯這個架構太差了。但是你真的無法對一輛正在高速行進的車更換(核心)零部件。你必需得讓車停下來!而且,還得需要像 F1 那樣的設計,那才能很快地更換部件。從這點來說,我覺得京東除了重新開發一套,別無他法。 

        以上回復,不見得對,僅供參考。(謝謝)

來自: http://www.zhihu.com/question/19818863

 本文由用戶 碼頭工人 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!