Camel RabbitMQ component позволяет установить как опцию concurrentConsumers
, так и threadPoolSize
. Их описание и по умолчанию выглядит следующим образом:Camel RabbitMQ consumer: какое взаимодействие между concurrentConsumers и параметрами threadPoolSize?
concurrentConsumers
- по умолчанию 1 - Количество одновременных потребителей потребляя от брокера. (например, аналогично той же опции для компонента JMS).
threadPoolSize
- default 10 - Пользователь использует пул потоков Исполнитель с фиксированным числом потоков. Этот параметр позволяет вам установить количество потоков.
Может ли кто-нибудь объяснить, как эти два будут взаимодействовать, особенно с точки зрения производительности?
В частности, вдаваясь в нюансы немного:
- ли они примерно взаимозаменяемы? То есть это примерно так, что 2 потребителя, 5 нитей ~ 5 потребителей, 2 потока?
- Имеет ли каждый параллельный потребитель столько потоков, как указано в
threadPoolSize
, или эти потоки разделены между всеми параллельными потребителями?
Большое спасибо!