azure如何处理引擎盖下的地理复制

时间:2017-04-26 15:19:45

标签: azure geo-replication

我们有一个天蓝色的网络应用程序&我们想在世界各地复制一个数据库。

因此,我们使用流量管理器将用户重定向到最近的托管Web应用程序,并在Web应用程序中使用位置设置,它知道它应该针对哪个数据库。

现在,我的问题是,由于模式是一个数据库可写(主要)并且副本只读,我或者azure在调用数据库时如何处理它?<​​/ p>

例如,如果从我的应用程序中我要向数据库添加记录,我无法使用最近的数据库连接字符串,我需要反对主要的。

我应该处理这件事吗?或者我会一直反对最近的一个,即使它的只读天蓝色会处理将它传输到主数据库的写入?

如果我应该管理那个,那么我应该处理2个连接字符串,一个用于主DB可写,一个用于最接近的db可读,我应该拆分我的服务,按写/读分类操作

并且遵循这个场景,如果我有一个WIRTES AND READS的Store程序,我该如何处理呢?

1 个答案:

答案 0 :(得分:0)

在地理复制模式下使用Azure SQL时,这是一个常见问题。您不能使用传统的LB技术,例如Azure Traffic Manager。在这种情况下,您应该在数据库连接上使用retry模式,根据需要从主要名称到备用名称。

AFAIK,在连接到数据库后,如果您使用的是主要或只读辅助服务器,则没有简单的方法可以告诉您。根据{{​​3}},您可以调用一些存储过程来理解拓扑。您可以使用Azure PS / API来理解这一点,但是您必须将该逻辑构建到您的应用程序中。

简而言之:

  1. 您需要处理数据库连接并使用重试 图案等
  2. 您应该实现this link来分隔读/写工作负载 如果你想利用只读辅助语言,那么彼此
  3. 希望有所帮助。