9

如果这是一个奇怪的问题,我很抱歉。我已经阅读了很多资料来为使用亚马逊网络服务的 iphone 应用程序部署我自己的服务器。

我现在面临的问题是我想使用令牌自动售货机系统来访问移动设备以从各自的帐户上传或检索东西。所以这是我想到的结构:

1) 设备连接到 TVM servlet 以获得对 SimpleDB 和 S3 的临时访问。

2) 设备现在将针对包含用户和密码的 simpleDB 域进行身份验证。

3) 服务器将向设备发送一个唯一 ID。

4) 设备将使用此唯一 ID 在 S3 上上传照片。

5) 如果上传响应成功,设备现在将添加一些信息,包括 SimpleDB 上的唯一 ID 和其他字段。

我对此感到困惑的是我需要的 EC2 实例。我想我可以使用带有 servlet 的单个 java 应用程序来完成大部分此过程,但是如果我想使用令牌自动售货机的身份验证,我应该启动第二个实例吗?亚马逊本身的示例使用自己的令牌自动售货机实例,并简单地获得直接访问数据库的授权。但是我需要一些服务器端逻辑,这就是为什么我需要自己的服务器端处理来重定向这些上传和下载。

此外,如果有人愿意告诉我这种结构是否有意义。我对服务器/数据库的东西完全陌生,所以我真的不知道什么是好的结构。我已经阅读了我需要的亚马逊服务的最佳实践和技巧。但我仍然不确定。

感谢您的反馈和支持。

4

1 回答 1

1

首先,这种结构是有道理的。恕我直言,您至少可以遵循两条路径:

1) 使用 Elastic Beanstalk 执行单个部署。
如果您选择此路径,我认为更简单的方法是遵循大多数用于身份注册的令牌自动售货机 - AWS 的示例 Java Web 应用程序,修改源代码以添加您的服务器端逻辑,方法是更改当前的 servlet 代码或通过添加一个或多个新的 servlet 来完成这项工作。然后,您可以按照上面链接中的建议构建 .war 并使用 Elastic Beanstalk 直接部署它。一个基本概念是,您可以将 Elastic Beanstalk 视为“应用程序服务器即服务”,从而使多个部署方面对您来说更容易。

2) 使用您选择的应用服务器(Tomcat、JBoss、WebLogic 等)启动一个或多个 EC2 实例。这样,您在设计应用程序的部署时将拥有更大的灵活性(EC2 实例很像云中的虚拟机,您可以在其中安装几乎任何您想要的东西,配置防火墙规则等)。您可以 a) 在单独的实例中部署 TVM,或 b) 在与 b.1) 相同的实例中部署新应用程序或 b.2) 作为与服务器端逻辑相同的应用程序(类似于使用示例Elastic Beanstalk)。您的选择实际上取决于应用程序的大小、预期负载、代码和 TVM 之间的耦合以及其他因素。

您的问题非常笼统,您可以采用多种方法来完成您想要的,所以我想我会概述两种可能的路径,希望能帮助您迈出第一步。不要犹豫,澄清任何不清楚的地方。希望能帮助到你。

于 2012-07-10T01:23:03.180 回答