-1

我有一个可以移植到 WordPress 插件之类的应用程序,但由此产生了一些问题。允许系统做它所做的事情的算法将被完全公开,并且可供所有人复制等。但是,社区的修改和改进很简单。

另一方面,无需将所有现有功能添加到插件中,插件(在下载时)可以链接到中央服务器,在该中央服务器上创建帐户、用户管理和数据传播将从该中央服务器进行以每个帐户为基础。

这对网络架构提出了更高的要求,并确保适当的扩展方案到位。

当前的 .Net 应用程序运行在一个 SQL Server 和 IIS 以及一个 Windows Server 上运行,目前在单个 Amazon AWS m1.large 实例上运行每月生成大约 50,000 次页面视图,并且需要升级到更强大的实例。显然,随着收入的增加,我计划将其分成两台服务器

所有数据访问都是通过单一数据访问服务执行的,并且针对 1..* 情况进行了良好的架构设计 - 数据访问不绑定到一个网站。

我的问题是:为了向大众提供数据访问服务,我需要解决哪些 AWS 难题?

4

1 回答 1

0

您应该使用的 AWS 组件很可能是:

  • 53 号公路
  • 弹性负载均衡器
  • 自动缩放组
  • 云看
  • 虚拟私有云 (VPC)
  • EC2
  • 亚马逊机器映像 + 引导
  • 发电机数据库
  • 弹性块存储 (EBS)
  • EBS 快照到 S3 可能带有将它们移动到 Glacier 的规则
  • 身份和访问管理 (IAM) 角色
  • SNS(我在这里考虑基于成本的警报)

以下是关于解决方案的一些脑筋急转弯:

Route53 可以处理您的 DNS。使用弹性负载均衡器将流量定向到您的 EC2 Web 服务器。将 Web 服务器放置在 Virtual Private Cloud 中,其中子网位于多个可用区中。使用 Auto-Scaling 在需求变化时扩展容量。可能有一些“试点轻型”预留 EC2 实例,并考虑使用按需或轻型/中型预留实例来满足需求高峰(取决于您的具体情况)。创建您自己的 Amazon 系统映像,该系统映像能够使用您的应用程序的最新副本自行引导。配置 IIS 以将 Dynamo DB 用于会话状态(这将允许您扩展 Web 服务器层,而不会让用户遭受会话丢失)。对 Dynamo DB(和任何其他 AWS 基础设施)的身份验证应通过您在配置 EC2 实例时提供的 IAM 角色进行。

对于变得复杂的数据库,大纲将是多个 EBS 卷 - 操作系统、数据库、数据库备份。您可能需要考虑为数据库卷使用预置 IOPS。使用镜像在另一个可用区中拥有额外的 SQL 数据库。Web 服务器连接字符串还将包括有关故障转移数据库服务器的信息。专门为此目的对 EBS 卷执行数据库备份。执行数据库备份到文件后,使用 powershell 脚本启动 EBS 快照。将 S3 存储桶配置为在 x 时间后将快照存档到 Glacier。关于如何管理增量快照,这里可能需要一些额外的想法。

总会有更多,这是相当高的水平,但它希望为您提供一些正确方向的指示。:)

于 2013-09-29T07:53:12.623 回答