Есть ли возможность настроить поток потока num для указанных c topi c (s) вместо всех? - PullRequest
1 голос
/ 27 февраля 2020

В нашем приложении есть несколько тем, где некоторые темы будут созданы с 16 разделами, а некоторые темы будут созданы с 1 разделом. Есть ли spring.cloud.stream.kafka.bindings свойство / опция, доступная для достижения этой цели?

Ответы [ 2 ]

0 голосов
/ 10 марта 2020

Может быть, это поможет: num.stream.threads, создающих незанятые потоки

Если есть один экземпляр KafkaStreams, это невозможно, поскольку Kafka Streams имеет только глобальную конфигурацию. Следовательно, вам нужно иметь несколько приложений, то есть несколько экземпляров KafkaStreams, которые обрабатывают разные входные данные topi c, чтобы настроить каждое из них с разным количеством потоков. Следуя ответу выше, кажется, что spring-cloud-streams может создать несколько KafkaStreams клиентов для поддержки того, что вы хотите.

Однако я не уверен, зачем вам это нужно / нужно (но я Также точно не уверен, как Spring-Cloud-Stream переводит вашу программу)? В конце концов, распараллеливание выполняется на основе tasks , и, таким образом, для разделов с одним входом topi c только один из ваших потоков получит соответствующую задачу. Таким образом, вам не о чем беспокоиться.

Для получения более подробной информации проверьте: https://docs.confluent.io/current/streams/architecture.html#parallelism -model

0 голосов
/ 27 февраля 2020

Доступно несколько свойств раздела. Например,

spring.cloud.stream.bindings.func-out-0.producer.partitionKeyExpression=payload.id
spring.cloud.stream.bindings.func-out-0.producer.partition

Вы можете получить больше информации о свойствах конфигурации как производителя, так и потребителя здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...