Я изучаю процессор Cosmos ChangeFeed для обработки каждого события изменения, используя службу Java. Я пытаюсь запустить несколько экземпляров службы, ожидая распределения нагрузки по ним. Однако сейчас все сообщения потребляются только одним экземпляром. < /P>
ChangeFeedProcessorOptions cfOptions = new ChangeFeedProcessorOptions();
cfOptions.setFeedPollDelay(Duration.ofSeconds(1));
cfOptions.setStartFromBeginning(false);
ChangeFeedProcessor changeFeedProcessorInstance = new ChangeFeedProcessorBuilder()
.options(cfOptions)
.hostName(hostName)//hostname is unique for each instance
.leaseContainer(leaseContainer)
.feedContainer(feedContainer)
.handleChanges(
documents -> documents.forEach(changeFeedProcessor::handleReceivedFeed))
.buildChangeFeedProcessor();
changeFeedProcessorInstance
.start()
.subscribeOn(Schedulers.fromExecutor(Executors.newFixedThreadPool(CDC_MAX_THREADS)))
.subscribe();
< /code>
Это моя зависимость космоса Azure Maven < /p>
com.microsoft.azure
azure-cosmos
3.7.3
< /code>
У меня 1 физический раздел и около 300 тыс. Логических разделов в моем контролируемом контейнере. Я рассчитал это, запустив этот запрос < /p>
SELECT COUNT(1) FROM (SELECT distinct c.partitionKey FROM c) AS t
< /code>
Я предполагаю, что только один экземпляр получает аренду. Как я могу убедиться, что каждый из экземпляров получил хотя бы одну аренду, чтобы нагрузка была распределена.
заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/794 ... -processor
Использование нескольких экземпляров для процессора Cosmos ChangeFeed Feed ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Использование нескольких экземпляров для процессора Cosmos ChangeFeed Feed
Anonymous » » в форуме JAVA - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Использование нескольких экземпляров для процессора Cosmos ChangeFeed Feed
Anonymous » » в форуме JAVA - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-