跨多个数据中心按地理位置扩展Azure云服务

本文关键字:扩展 Azure 服务 地理位置 数据中心 | 更新日期: 2023-09-27 17:59:31

我有一个部署到Azure的典型通用应用程序,包含以下组件:

  • 两种云服务-Web和Worker
  • Azure服务总线
  • Azure SQL数据库
  • Azure存储

在Azure管理控制台中,您可以选择自动扩展每个云服务(意味着添加了更多服务器),这发生在同一数据中心内。

在多个数据中心之间扩展完整云服务架构(如我们的架构)的最简单方法是什么

或者,如果将我们的云服务复制到另一个数据中心(正确处理负载平衡等)足够容易,那么通过微软的数据"主干网",SQL和存储延迟/传输率是否会相当快?

我问的原因是,我们的服务器目前在欧洲,但我们即将在亚洲大力推动,并希望减轻网站(该网站还托管我们的移动API)的任何性能问题。

我很感激这是一个不平凡的问题,因为你需要考虑同步SQL数据库和Azure存储容器,但我希望微软已经考虑过了:)

我当前使用Visual Studio Azure项目中的"发布"命令进行部署。这有一个单一的ServiceDefinition(包含我的两个云服务)和每个环境的ServiceConfiguration文件(Live/Test)。

我真正想要的是像这样简单的东西(但可能来自Visual Studio):

>git push azure-NorthCentral master
>git push azure-SoutheastAsia master
>git push azure-WestEurope master

此示例使用针对Azure网站的Git部署,这些网站比我们的云服务架构更孤立,例如,无需考虑数据同步。

跨多个数据中心按地理位置扩展Azure云服务

我将这个问题标记为过于宽泛,因为老实说,在地理缩放方面没有正确的答案。然而,我想就Azure本机提供的与您的应用程序相关的内容(无论您是否选择合并它们)提供一个客观的答案。

Traffic Manager专为根据特定规则(最近、循环、主/故障切换)将流量路由到特定区域而设计。这将根据您的规范将流量引导到您部署到的特定区域。

Azure存储提供了具有地理复制辅助存储的功能(您不能为辅助存储选择区域;每个区域已与另一个区域配对)。然后,您可以选择从次要区域读取,而不是从主要区域读取。您将不得不处理这样一个事实,即数据最终是一致的

SQL数据库服务提供主动地理复制,在其他区域中有只读数据库(同样,这是一种异步复制,尽管您的辅助数据库保持事务一致)。

请记住:区域之间没有关于带宽/吞吐量的SLA/性能指标。你需要做一些基准测试。