使用Azure Sql扩展场景(地理位置)

使用Azure Sql扩展场景(地理位置),azure,Azure,我在西欧有我的Azure Sql数据库,并且正在考虑在美国也有一个数据库。在美国部署我的网站很容易,但该网站随后会查询欧洲的数据库,这会造成延迟 在这种情况下人们会怎么做?我想,为不同的用户建立单独的数据库可能会起作用,但是如果一个用户通常在一台服务器上被路由到另一台服务器,那么他的数据就不在数据库中,那么它就失败了。是否有简单的解决方案可以在两个azure SQL Server中提供相同的数据,并且azure可以保持数据同步?同步时的冲突如何?这实际上取决于您的需求和如何实现路由。您可以以这样

我在西欧有我的Azure Sql数据库,并且正在考虑在美国也有一个数据库。在美国部署我的网站很容易,但该网站随后会查询欧洲的数据库,这会造成延迟


在这种情况下人们会怎么做?我想,为不同的用户建立单独的数据库可能会起作用,但是如果一个用户通常在一台服务器上被路由到另一台服务器,那么他的数据就不在数据库中,那么它就失败了。是否有简单的解决方案可以在两个azure SQL Server中提供相同的数据,并且azure可以保持数据同步?同步时的冲突如何?

这实际上取决于您的需求和如何实现路由。您可以以这样一种方式设计分布式应用程序,即用户a在经过身份验证后,总是转到美国服务器。即使他/她目前在欧洲或亚洲

如果您想在任何地方同步所有内容,可以使用名为“”的预览功能。它可以在多个SQL Server实例(包括本地SQL Server安装)之间同步数据。它在配置和同步选项方面非常灵活。但是,这实际上取决于应用程序需求。若我在构建分布式系统,我就不会跨大陆同步数据。将设计应用程序,使特定于用户的数据只存在于一个数据中心。当然,如果我的用户能够访问更多的数据,而仅仅是与他/她的个人资料相关的数据,这是不可能的


最好的选择是将特定于用户的数据保存在用户指定的数据中心,并同步所有位置的所有用户都必须可用的数据。

谢谢您的评论。SQL数据同步非常容易设置,但需要一些时间。我把它设置为每小时从一个数据中心同步到另一个数据中心,并同步所有内容。(数据库现在几乎是空的)。成功了。我同意,我不希望在部署情况下这样做,并且设计了一个解决方案,使用户将其数据放在一个数据中心中,将来可以始终在该站点强制执行该解决方案。SQL数据同步的糟糕体验。它失败了,没有从中得到什么好处。再次禁用它。我认为正确的选择是按照你的建议进行设计。