реактивная кафка с диспетчером по умолчанию?

Я работаю над проектом с Kafka и Akka Streams, используя коннектор reactive-kafka. Мы обнаружили, что reactive-kafka использует свой собственный диспетчер (akka.kafka.default-dispatcher), но если, например, мы используем диспетчер akka по умолчанию, все происходит быстрее (диспетчер reactive-kafka ~300 сообщений/с, диспетчер по умолчанию ~1300 сообщений/с)

Интересно, безопасно ли использовать диспетчер по умолчанию?

Заранее спасибо.


person RoberMP    schedule 11.06.2016    source источник


Ответы (1)


Нет, вы не должны использовать диспетчер Akka по умолчанию. Поскольку базовый клиент Kafka использует блокировку, это может остановить работу всей системы акторов.

Вместо этого вы можете перенастроить akka.kafka.default-dispatcher (например, добавив akka.kafka.default-dispatcher.thread-pool-executor.fixed-pool-size = 32 в свои настройки) или, что еще лучше, настроить свой собственный диспетчер и использовать его для потребителей коннектора Alpakka Kafka, которым он нужен.

Подробнее о настройке диспетчера см. в разделе Диспетчеры Akka.

person Enno    schedule 04.07.2018