我在West Europe
区域中有一个主要blob存储空间,其中包含通过同一区域内的应用程序访问的用户上载文件。这会导致高延迟,例如,如果你在East US
区域。
因此,我将该应用程序的另一个实例添加到美国东部地区,并使用流量管理器根据性能在两个实例之间进行路由。现在,美国东部地区的用户可以与自己所在地区的应用程序实例进行通信。
问题是,现在美国东部的实例正在与西欧的blob商店交谈,因此应用程序会受到延迟的影响。我可以为西欧blob商店启用地理冗余,但这基本上只是用于备份,而不是性能,因为我无法选择要复制到哪个区域。
我无法使用CDN,因为正在访问的文件是用户私有文件,而我只在用户与应用程序交互时为每个URL生成共享访问签名。 (CDN仅适用于公共商店)。
那么,如何将blob存储从一个区域复制到我选择的另一个区域?理想情况下,这将是两种方式,就像我可以为SQL-Sync做的那样。理想的最终结果是东美实例与美国东部的一家blob商店进行谈判,其中blob与西欧主要商店同步。
答案 0 :(得分:1)
Azure中没有内置机制来促进区域之间的blob同步(除了配对区域之间的地理复制)。您需要在应用中实现此功能。这该怎么做?这是主观的,可能会引发热烈的讨论(加上StackOverflow不是征求意见的地方)。
那说......从目标的角度来看,在Azure中,你最接近的内置启动器就是Service Bus,因为它支持pub / sub。这将允许您发布与存储内容相关的消息,然后让订阅者代表每个所需区域,从他们自己的订阅者队列中消费这些消息并写入特定于区域的blob存储。