【发布时间】:2015-11-17 00:25:18
【问题描述】:
对于我从事的大多数 ASP.NET/SQL Server 应用程序,我一直遵循“一个应用程序,一个服务器”架构。我的意思是松散地使用多个带有负载平衡器的服务器等。但它们都在同一个数据中心。
但是,最近出现了一项要求,要求确定将支持美国、中国和俄罗斯用户的应用程序范围。性能将是相当关键的,那么构建这样一个应用程序以使其在所有这些领域都表现良好的最明智的方法是什么?
我想出的选项是:
- 使用一个数据中心(即:不要在世界各地的多个地方托管)。通过 CDN 交付静态内容,但数据库和 ASP.NET 站点将托管在一个地方(例如:美国)。不过,这似乎仍然是一个问题。
- 使用多个数据中心,并拥有多个版本的应用程序。例如:ru.myapp.com、us.myapp.com、ch.myapp.com 以及他们自己的代码/数据库/等。这可行,但需要在每个应用程序中完成报告、管理等工作,这似乎是效率最低的方法。
- 使用不同的架构 - 但我不熟悉替代方案。是否有可能以这样一种方式进行架构,即您拥有一个跨多个数据中心工作的单一应用程序和数据库(类似于负载平衡环境,但规模更大)。
有没有人有任何处理这个问题的最佳方式的经验?
【问题讨论】:
-
选项 2 是一种相当常见的方法。根据您报告的内容以及此功能是定制的还是 OOTB 产品,其中许多都能够组合来自各种来源的数据(在您的情况下为分布式数据库)。但是,这可能不是您的选择。
标签: asp.net iis architecture