【问题标题】:SQL Server 2005 + JavaEE application on one computer in production生产中一台计算机上的 SQL Server 2005 + JavaEE 应用程序
【发布时间】:2010-01-04 16:18:07
【问题描述】:

我们有一个服务器项目,每天有大约 3000 个来自客户端的请求。 30-40个在线用户。并且每年大约增加 30-40Gb 的数据。 并且系统应该 24x7 全天候在线。

我们在哪里可以更好地定位 SQL 服务器? 在一台带有 JavaEE 容器的计算机上还是在独立计算机上?

这种方式有什么优缺点?

【问题讨论】:

    标签: java sql-server production-environment


    【解决方案1】:

    当然,正如 Cade Roux 所解释的,最好将它们放在单独的服务器上(以防它们通过 LAN(而不是 Internet)连接)。

    但是,如果您的预算不足以容纳两台机器,或者您已经拥有一台功能强大的机器,则可以使用虚拟化。 制作 2 台虚拟机,一台用于 Java EE 容器,一台用于数据库服务器。这提供了 Cade Roux 所解释的所有好处,只需一台物理机器。

    【讨论】:

    • 最好将数据库层和表示层分别放在两台机器上。
    • “应用程序”不是“表示层”,它们两台机器..只是虚拟的,不是物理的
    【解决方案2】:

    以上所有海报的建议都是正确的。

    但是,一天 3000 个请求听起来并不多。

    1. 您有多少硬件/软件预算?
    2. 你的机器有多强大?
    3. 您是否使用模拟负载测试在同一台机器上运行了一些性能分析?

    当然,如果您可以为每个服务器设置一个单独的服务器,那么基于上述原因会更好。如果没有,并且您的机器足以同时运行这两种机器,您可以通过运行 VM 来获得单独机器的一些优势,但如果您的硬件崩溃或操作系统崩溃,VM 不会给您带来任何好处。

    【讨论】:

    • 我们约定使用两台服务器机器:每台有 4 个处理器和 4GB 内存。但是作为备份跟随者,我们将添加一些可以运行的机器,而不是两台主服务器。而且我认为在没有太多负载的情况下,我们可以使用一台计算机作为主机,第二台作为备份从机。
    • 您可能想要配置机器,以便您可以使用 1 或另一个,实现无缝故障转移。这样,您可以在生产中使用两台机器,但您需要测试故障转移以确保如果一台机器发生故障,另一台机器可以正常运行。然后你可以在生产中使用两者。这也确保了两个系统都能在生产环境中正常工作。
    【解决方案3】:

    通常情况下,应用程序服务器组件不会安装在数据库服务器上。此外,您的 24x7 要求可能要求您不要将应用程序层和数据库服务放在同一台机器上,以便您可以分离数据库层以便能够在数据库层实现某种集群或其他高可用性解决方案以及类似的负载平衡或应用程序服务层的任何东西。

    就体积而言,从表面上看,一台机器处理似乎并不过分,但您确实没有提供足够的细节。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-14
      • 2010-12-02
      • 1970-01-01
      • 2011-08-27
      相关资源
      最近更新 更多