【发布时间】:2014-05-29 18:13:54
【问题描述】:
我正在开发一个大型网络应用程序,用户可以来自世界任何地方。
注意事项: 1. Web 服务器需要分布在可能跨越 3 个大陆的可能 3 个数据中心。 2. 每个数据中心可能有 2 个 Web 服务器 (ASP.NET) 以开始并可以横向扩展 3. 数据库需要分区(SQL Server 切分)。不考虑单独的数据库实例和镜像 4. 应用程序将有媒体内容。因此,CDN 可能适合他们。
托管选项: 1. Azure/AWS IaaS:在这种情况下,Web 和 Applciation 服务器需要由我们配置和管理 2. Azure/AWS PaaS:在这里,我们忙于使用供应商特定的工具、代码块和“做事方式”,最后在一个美好的早晨,他们宣布他们将停用一项依赖服务(例如 SQL Azure 联合)。此外,还要考虑 Az SQL 的 db max size 150GB 左右的限制以及共享服务中的限制。
因此,托管选项 1 看起来是安全的选择。
现在我的问题:
- 我需要为每个数据中心考虑一个负载平衡服务器,它将流量路由到该数据中心中的 2 个或更多 Web 服务器。但是,如何管理来自世界任何地方的流量到所需的数据中心呢?在 IaaS 模型中,我应该将跨数据中心分配 Web 流量的负载均衡器放在哪里?
- 我遇到了 Azure 流量管理器,它似乎可以解决上述问题 1,但是这适用于他们的 IaaS 产品吗? AWS 中的等价物是什么?希望当用户从亚太地区连接时,他们会被重定向到亚洲的 DC。
- 在切分模型中,我们希望对特定的数据库表进行分区,而不是全部。我不是很熟悉,但是故障转移在碎片数据库中是如何工作的?是否可以为联合中的每个成员数据库服务器设置主动被动 SQL 服务器? (顺便说一句,SQL 联邦和 Sherding 一样吗?)
应用程序本身基于 ASP.NET 和 SQL Server。
【问题讨论】:
-
这里有很多很好的问题,但我认为就目前而言,这个问题对于一个具体的答案来说太宽泛了。其中一些答案也将严格基于意见。也许这会更好地分解成更小的问题。
-
在多个 AWS 区域中查看基于 Route 53 延迟的路由 (docs.aws.amazon.com/Route53/latest/DeveloperGuide/…) 和运行状况检查 (docs.aws.amazon.com/Route53/latest/DeveloperGuide/…),以及带有 AutoScaling (aws.amazon.com/autoscaling) 的弹性负载均衡器 (aws.amazon.com/elasticloadbalancing)
标签: sql-server azure amazon-web-services