我有一个可以移植到类似WordPress插件的应用程序,但是出现了一些问题。允许系统完成其工作的算法将被完全暴露,并且可供所有人复制等。然而,社区的修改和改进很简单。
另一方面,插件(在下载时)可以链接到中央服务器,而不是将所有现有功能添加到插件中,在中央服务器中将创建帐户,用户管理和数据传播将从基于每个帐户的中央服务器。
这对网络架构提出了更高的要求,并确保了适当的扩展方案。
当前的.Net应用程序在运行一个SQL Server和IIS以及Windows Server的情况下运行,目前每月在单个Amazon AWS m1.large实例上生成大约50,000个页面查看,并且需要提升到更多强大的实例。显然,我计划将其分成两个服务器,因为收入增加
所有数据访问都是通过单一数据访问服务执行的,并且针对1 .. *情况进行了很好的架构 - 数据访问不限于一个网站。
我的问题是:为了向大众提供数据访问服务,我需要实施哪些AWS难题?
答案 0 :(得分:0)
您应该使用的AWS组件最有可能:
这里有一个关于解决方案的大脑转储:
Route53可以处理您的DNS。使用Elastic Load Balancer将流量定向到EC2 Web服务器。将Web服务器放置在具有多个可用区中的子网的虚拟私有云中。使用Auto-Scaling可根据需求变化扩展容量。可能有一些“指示灯”保留的EC2实例,并考虑使用按需或轻/中保留实例来满足需求高峰(取决于您的具体情况)。创建您自己的亚马逊机器映像,它能够使用您应用程序的最新副本自行引导。配置IIS以将Dynamo DB用于会话状态(这将允许您扩展Web服务器层,而不会丢失用户会话丢失)。对Dynamo DB(以及任何其他AWS基础结构)的身份验证应通过您在配置EC2实例时提供的IAM角色进行。
对于DB来说它变得复杂,大纲将是多个EBS卷 - 操作系统,数据库,数据库备份。您可能需要考虑对数据库卷使用预配置IOPS。使用镜像在另一个可用区中具有其他SQL DB。 Web服务器连接字符串还包括有关故障转移数据库服务器的信息。专门为此目的执行数据库备份到EBS卷。在执行数据库备份到文件后,使用powershell脚本启动EBS快照。配置S3存储桶以在x个时间到Glacier之后存档快照。关于如何管理增量快照,可能还需要一些额外的想法。
总会有更多,这是相当高的水平,但它希望为你提供正确方向的一些指示。 :)