Я использую многорегиональную учетную запись в базе данных Cosmos DB. В настоящее время он включен в восточной и западной частях США. Регион записи - Запад США. Слушатели ленты изменений развернуты как в восточной части США, так и в западной части США.
Учитывая эту настройку, я хотел понять, как работает канал изменений?
- Получают ли получатели изменений ленту изменений из региона, в котором они развернуты. Пример: слушатели на Востоке читают с Востока, а слушатели на Западе читают с Запада.
OR
- Они читают из региона записи. Запад США в моем случае.
Я использую библиотеку процессора изменений, чтобы прочитать ленту изменений, и код:
var feedCollection = new DocumentCollectionInfo()
{
DatabaseName = configurations.CosmosDb.DatabaseId,
CollectionName = configurations.CosmosDb.CollectionId,
Uri = new Uri(configurations.CosmosDb.EndpointUri),
MasterKey = configurations.CosmosDb.AuthKey
};
var leaseCollection = new DocumentCollectionInfo()
{
DatabaseName = configurations.LeaseCollection.DatabaseId,
CollectionName = configurations.LeaseCollection.CollectionId,
Uri = new Uri(configurations.CosmosDb.EndpointUri),
MasterKey = configurations.CosmosDb.AuthKey
};
var builder = new ChangeFeedProcessorBuilder();
var processor = builder
.WithHostName(hostName)
.WithFeedCollection(feedCollection)
.WithLeaseCollection(leaseCollection)
.WithObserverFactory(observerFactory)
.BuildAsync().Result;