跨多个数据中心在地理上扩展Azure云服务 [英] Scaling Azure cloud services geographically across multiple data centers

查看:44
本文介绍了跨多个数据中心在地理上扩展Azure云服务的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经将一个典型通用应用程序部署到Azure,具有以下组件:

I have a fairly typical common application deployed to Azure, with the following components:

  • 两个云服务-Web和Worker
  • 天蓝色服务巴士
  • Azure SQL数据库
  • 天蓝色存储

在Azure管理控制台中,您可以选择

In the Azure management console, you can choose to automatically scale out each cloud service (meaning more servers added), which happens within the same data center.

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

What's the easiest way to scale a complete Cloud Service architecture (like ours) out across multiple data centers?

或者,如果很容易地将我们的云服务复制到另一个数据中心(正确处理负载平衡等),SQL和存储的滞后/传输率是否可以通过Microsoft迅速地提高数据骨干"?

Alternatively, if it was easy enough to replicate just our Cloud Services across to another data centre (correctly handling load balancing etc), would the SQL and Storage lag/transfer rates be reasonably fast through Microsofts data "backbone"?

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

The reason I ask is that our servers are currently in Europe, but we are about to do a big push in Asia, and want to mitigate any performance issues for the website (which also hosts our mobile API).

由于您需要考虑同步SQL数据库和Azure存储容器,所以我很欣赏这是一个不平凡的问题,但是我希望微软已经考虑过了:)

I appreciate that this is a non-trivial problem since you need to think synchronising SQL Databases and Azure Storage containers, but I was hoping Microsoft have thought about it already :)

我目前使用Visual Studio Azure项目中的发布"命令进行部署.它具有单个ServiceDefinition(包含我的两个Cloud Services)和每个环境(实时/测试)的ServiceConfiguration文件.

I currently deploy using the "Publish" command from a Visual Studio Azure project. This has a single ServiceDefinition (containing my two Cloud Services) and a ServiceConfiguration file for each environment (Live/Test).

我真正想要的是像一样简单的方法(但可能来自Visual Studio) ):

What I really want is something as easy as this (but maybe from Visual Studio):

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

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

This example uses Git deployment for Azure Web Sites, which are more isolated than our Cloud Service architecture, e.g. no data synchronisation to consider.

推荐答案

我将此问题标记为过于宽泛,因为说实话,在进行地理缩放时没有正确的答案.但是,我想就Azure与您的应用相关的本地功能(无论是否选择合并)提供客观的答案.

I marked this question to be closed as too broad, because honestly, there's no right answer when it comes to geo-scaling. However, I wanted to offer an objective answer regarding what Azure provides natively, related to your app (whether you choose to incorporate them or not).

Traffic Manager专为根据特定规则(最近,循环,主要/故障转移)将您的流量路由到特定区域而设计.根据您的规范,这会将流量定向到您部署到的特定区域.

Traffic Manager is designed specifically for routing your traffic to a particular region, based on specific rules (nearest, round robin, primary/failover). This would direct traffic to a specific region you deployed to, per your specification.

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

Azure Storage provides ability to have geo-replicated secondary storage (you cannot choose the region for the secondary; each region is already paired with another). You may then choose to read from the secondary region instead of primary. You will have to deal with the fact the data is eventually-consistent.

SQL数据库服务提供了主动的地理复制,在该区域中,您将在其他区域中拥有只读数据库(同样,这是一个异步复制,尽管您的第二副本在事务上保持一致).

SQL Database service provides active geo-replication, where you'll have read-only databases in additional regions (again, this is an async replication, though your secondaries remain transactionally consistent).

请记住:区域之间的带宽/吞吐量没有SLA/性能指标.您需要进行一些基准测试.

Keep in mind: There is no SLA/performance metric around bandwidth/throughput between regions. You'll need to do some benchmarking.

这篇关于跨多个数据中心在地理上扩展Azure云服务的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆