高负载系统的最佳架构

时间:2010-05-21 13:31:06

标签: java .net

我无法在Microsoft堆栈和Java堆栈之间进行选择。 我开始开发高负载系统。每天超过50万笔交易。 最好的选择是Java堆栈还是Microsoft?

6 个答案:

答案 0 :(得分:8)

Microsoft和Java堆栈在性能方面具有可比性。您是否可以每天(或更好)实现500,000次交易更多地取决于这些交易正在进行的操作以及您是否正确使用您的系统架构。

因此,我建议您先设计系统架构,然后根据以下各种实现方案进行选择:

  • 堆栈(及相关的第三方技术)如何实现您的设计,
  • 考虑到硬件,软件许可证,员工和培训成本的“总运营成本”评估,
  • 考虑贵组织的长期IT计划。

答案 1 :(得分:3)

在这两者之间我会说堆栈本身不是成功(或失败)的关键。您可以使用两者编写出色的服务,也可以编写一个很糟糕的服务。重要的是研究如何使用您选择的堆栈获取所需内容

答案 2 :(得分:1)

500,000本身并不具有决定性,因为每个事务的大小(就计算能力而言)是未知的,但假设它定义了非常繁重的负载,尽管正确配置的Windows集群可以处理它,我认为你会发现很多组织在生产中的* nix系统上更适合这种负载(至少在我的地理区域),你在开发中没有考虑太多的事情(比如同时网络连接)会进入玩,所以可能需要考虑你的考虑因素。该系统将由某人维护。他们对Windows与Linux或Unix无关吗?

我认为这将是这里的第一个驱动因素。如果您真正拥有关于操作系统的自由,那么这将被部署,那么任何一种技术都可以完成工作,或者如果做得不好就会失败。

答案 3 :(得分:1)

唯一真正的差异化特征是成本。运行Windows的每台服务器都需要一个新的Windows许可证。如果你在Linux / Unix的某些版本上运行Java,你可能无需支付“微软税”即可逃脱。

除此之外,您的开发人员的专业知识,熟悉程度和当地资源的可用性是您的最佳指标。

答案 4 :(得分:1)

这两种技术都可以让您构建系统。两者都有很好的社区。你应该选择你更熟悉的那个。

答案 5 :(得分:0)

Java和.Net堆栈都可以满足您的大部分需求。另请参阅其他解决方案,例如memcached,Solr等,旨在解决特殊问题。 .NET和Java都有可用于这些系统的连接器。我个人更喜欢.Net平台,原因包括更好的工具,语言支持,ASP.NET MVC。