azure如何在幕后处理地理复制

azure如何在幕后处理地理复制,azure,geo-replication,Azure,Geo Replication,我们有一个azure web应用程序&一个我们想在全世界复制的db 因此,我们使用Traffic manager将用户重定向到最近的托管Web应用程序,并且通过Web应用程序中的位置设置,它知道应该针对哪个数据库 现在,我的问题是,由于模式是一个数据库可写(主)且副本为只读,我或azure在调用数据库时如何处理 例如,如果我要从我的应用程序向数据库添加一条记录,我不能使用最近的DB连接字符串,我需要使用主连接字符串 我应该处理这件事吗?或者,我将始终反对最近的一个,即使它的只读azure将处理将

我们有一个azure web应用程序&一个我们想在全世界复制的db

因此,我们使用Traffic manager将用户重定向到最近的托管Web应用程序,并且通过Web应用程序中的位置设置,它知道应该针对哪个数据库

现在,我的问题是,由于模式是一个数据库可写(主)且副本为只读,我或azure在调用数据库时如何处理

例如,如果我要从我的应用程序向数据库添加一条记录,我不能使用最近的DB连接字符串,我需要使用主连接字符串

我应该处理这件事吗?或者,我将始终反对最近的一个,即使它的只读azure将处理将其传输到主数据库的写操作

如果应该由我来管理,那么我应该处理两个连接字符串,一个用于主DB可写,另一个用于最近的DB可读,并且我应该按照写/读操作划分我的服务


在这种情况下,如果我有一个wirte和read的存储过程,我将如何处理它?

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

顺便说一句,在连接到数据库之后,没有简单的方法来判断您是在主数据库还是只读辅助数据库上。根据需要,您可以调用一些存储过程来了解拓扑。您可以使用Azure PS/API理解这一点,但随后您必须将该逻辑构建到应用程序中

简言之:

  • 您需要处理数据库连接并使用重试 图案等
  • 您应该实现将读/写工作负载与 如果您想利用只读二级数据库,请相互联系

  • 希望这能有所帮助。

    不确定您的确切要求。Traffic Manager不处理数据库。你的应用程序将处理数据库连接。不确定您指的是什么,将数据库句柄重定向到主数据库。还有:你指的是哪个数据库?有SQL数据库和DocumentDB作为承载的PaaS数据库服务。请相应地编辑您的问题,使其更具体。