2010-05-21 111 views
1

我無法在Microsoft堆棧和Java堆棧之間進行選擇。 我開始開發高負荷系統。每天超過500,000筆交易。 最佳選擇是Java堆棧還是Microsoft?適用於高負載系統的最佳體系結構

+3

你需要定義「最好」。 – Goibniu 2010-05-21 13:33:20

+1

@趣味:Microsoft堆棧中的問題是它與Windows的聯繫。重啓被認爲是一種可靠的方式來執行你的情況?如果紐約證券交易所錯過了週二的補丁,那麼紐約證券交易所並不會在那些會成爲殭屍的盒子上運行。 Voca(在英國每天處理7千萬美元支付)是部署在Un * x boxen上的全Java版寶貝。當MS購買Hotmail並試圖在Windows上運行時,操作系統已經融化。對於Real-World [TM]工作負載,請獲取(http://www.top500.org)。對於非技術精明的公司購買MS kool-aid和媽媽和流行中小企業來說,Windows可以。對於其餘的,有Java和Un * x :) – SyntaxT3rr0r 2010-05-21 14:42:46

+0

Windows對於SO來說也不錯,這就是爲什麼SO只有「三個九」的正常運行時間左右(不知道:在不到6個月的時間裏,我想我已經看到它了已經有三次告訴我*「我們因維修而倒閉,我們應該在一個小時左右回來」* ......我不知道我是否應該笑或哭;) – SyntaxT3rr0r 2010-05-21 14:44:54

回答

0

無論是Java和.Net棧可以支持大部分的需求。另外看看其他解決方案,如memcached,Solr等,旨在解決專門的問題。 .NET和Java都有可用於這些系統的連接器。我個人更喜歡.Net平臺的原因,如更好的工具,語言支持,ASP.NET MVC。

8

Microsoft和Java堆棧在性能方面具有可比性。每天(或更多)是否可以實現500,000次交易取決於這些交易的進行情況以及您的系統架構是否正確。

因此,我建議你先設計系統架構,然後根據不同的實施方案之間做出選擇:

  • 堆棧(以及相關的第三方技術)如何能夠實現設計,
  • 一「的經營總成本」的評估考慮到硬件,軟件許可證,工作人員和培訓成本,
  • 考慮您的組織的長期的IT計劃。
3

在這兩者之間,我會說它不是堆棧本身,它將是成功(或失敗)的關鍵。你可以使用這兩種語言寫出輝煌的服務,也可以編寫一個很吸引人的服務。重要的是學習如何使用你選擇的棧來獲得你所需要的

1

的50萬名自身是不是決定性的,因爲尺寸(在計算能力方面)每筆交易的是不知道,但假設它定義了一個非常沉重的負擔,但一個正確配置的Windows羣集可以搞定,我認爲你會發現許多組織對於那種負載(至少在我的地理區域)的nix系統在生產中更加舒適,在開發中你沒有多少考慮什麼(比如同時網絡連接)發揮作用,這可能需要發揮你的考慮。這個系統將由某人維護。他們對Windows與Linux還是Unix都不明白?

我認爲,這將在這裏是第一個驅動因素。如果你真的對操作系統有了自由,這將被部署,那麼任何一種技術都可以完成工作,或者如果做得不對,就不會做。

1

唯一真正的差異化特徵是成本。每臺運行Windows的服務器都需要新的Windows許可證。如果您在Linux/Unix的某些版本上運行Java,那麼您可能會在沒有支付「微軟稅」的情況下離開。

除此之外,當地的資源開發人員的專業知識,熟悉和可用性是您的最佳指標。

1

這兩種技術將讓你建立自己的系統。兩個都有很好的社區。你應該選擇一個你更熟悉的。

+0

我同意。但是,如果你期望持續的峯值負載每秒> 100次交易,那麼J2ee等等是要走的路,但代價是複雜性增加,開發時間更長等。 – 2010-06-22 09:42:17

+0

你永遠不知道。如果你擅長Java,你會做得更快,更好。如果你是.NET大師 - 你應該選擇這個平臺。 – Everyz 2010-06-22 09:48:59