更改多区域 Azure Cosmos DB 中的源

Change Feed in multi-region Azure Cosmos DB

我正在使用 Cosmos DB 多区域(单区域写入)帐户。目前它在美国东部和美国西部启用。写入区域是美国西部。

Change Feed 侦听器部署在美国东部和美国西部。我想了解,如果我可以指定部署在美国东部的听众从美国东部读取 Change Feed,而在美国西部的听众从美国西部读取 Change Feed。或者所有的听众总是从写入区域读取 Change Feed?

你当然可以让你的听众从最近的区域读取,这应该会改善你的延迟。您可以使用 PreferredLocations 属性自定义:

var localPolicy = new ConnectionPolicy();
localPolicy.PreferredLocations.Add("East US");

// Builder initialization
.WithFeedCollection(new DocumentCollectionInfo()
{
    DatabaseName = DbName,
    Uri = new Uri(uri),
    CollectionName = feedCollection,
    MasterKey = key,
    ConnectionPolicy = localPolicy
})
.BuildAsync();