5

有人有将 GWT 应用程序部署到 EC2 的经验吗?

如果我要在 ec2 实例上安装 tomcat 或 apache,我可以让用户直接连接到指向那里的 url 吗?

这是否具有成本效益,或者 Java 托管服务是最好的?

在常规托管服务上托管边缘 HTTP 服务器并直接向 EC2 请求是否有任何缺点?性能在这里有问题吗?

4

4 回答 4

6

其他答案是正确的,但我只是想分享一个事实,即我们正在开发一个 100% 基于 EC2/S3 并且还具有纯 GWT 前端的产品。

我们使用 maven2 进行构建和出色的 gwt-maven 插件。这使得生成 Web 应用程序的 WAR 包作为输出变得容易。我们使用 Jetty,但 Tomcat 也可以。

我们在 VM 上运行了 pound(一个 http 加速器/负载均衡器),监听 http 和 https,然后将请求转发到 lighttpd(静态)或 jetty(应用程序)。这也简化了 SSL 证书,因为 pound 处理 SSL。我发现使用 SSL 证书配置 Java 服务器一直很痛苦。

于 2008-12-01T20:29:44.453 回答
5

是的,您几乎可以托管任何您想要的东西,因为您实际上拥有一台专用的 Linux 机器。

我上次记得,EC2 实例的基本费率在他们的“低端机器”上计算为每月 75 美元左右,因此您可以将其用作与其他供应商的基准。这还假设机器 24x7 全天候运行(因为您按小时付费)。

EC2 实例的主要缺点只是它可以随时“消失”,而当它这样做时,写入您的实例的任何数据也将“消失”。

这意味着您需要对其进行设置,以便您可以轻松地重新启动服务器,但您还需要将您生成并希望保留的任何数据离线(无论是亚马逊的其他服务之一,如 S3,还是其他一些外部服务)。这将产生一些额外的费用,具体取决于数量。

最后,您还将为服务的任何流量付费。

与之比较的是来自其他供应商的另一个“虚拟服务器”。使用 EC2 可以完成很多有趣的事情,但如果您只使用一台机器,使用专用的虚拟主机服务可能会更容易。

于 2008-11-14T05:31:35.943 回答
2

其他人给出了很好的答案。我不得不补充一点,您需要花程序员时间了解 EC2 的怪癖并解决它们(例如使用 EBS)。这并非完全无关紧要,尽管拥有它是有用的知识,并且可能仅出于这个原因就值得,但如果您想仅使用几台服务器快速启动并运行,您可能应该查看其他托管选项。

另一方面,如果您计划大规模扩展(最终在 EC2 上托管许多服务器),那么我强烈推荐它。你必须设计一些东西,但无论如何你都需要这样做。一旦达到一定的运营规模,按需计算的灵活性和普遍低廉的价格使其成为杀手级平台。

于 2009-01-05T04:59:31.630 回答
1

您绝对可以在 EC2 中托管一个 http 服务器,但您需要考虑以下几点:

  • 如前所述,成本可能比替代托管解决方案高得多
  • 您的实例(您在 EC2 中启动的机器)可能会意外关闭。亚马逊不保证 24x7 的可用性。这意味着您存储在本地存储中的数据将会丢失,并且当您启动一个新实例时,它将获得一个新 IP。

因此,要在 EC2 中成功托管服务器,您需要使用 Amazon 的一些其他服务。您需要弹性 IP,这样您就可以规避新 IP 地址问题。您还可以使用弹性块存储。这是一项服务,可让您在您的机器上安装一个磁盘,当您的实例丢失时该磁盘不会消失。

于 2008-11-14T06:54:07.243 回答