Search code examples
apacheyamlapache-pulsarpulsarspring-pulsar

Pulsar client numIoThreads and numListenerThreads per consumer instance or for all consumer instances


Let's say I have the following pulsar config:

pulsar:
  topicX:
    client:
      config:
        numIoThreads: 3
        numListenerThreads: 15
    consumer:
      config:
        receiverQueueSize: 20
      count: 3
  topicY:
    client:
      config:
        numIoThreads: 3
        numListenerThreads: 15
    consumer:
      config:
        receiverQueueSize: 20
      count: 10

I'm a bit confused about topicX. Are there just three threads and 15 listener threads for all the consumers, or are these numbers multiplied by the consumer count? Can you clarify?

So for topicX that would mean that we have 9 io threads and 45 listener threads.

I can't seem to find this in the documentation, any reference?


Solution

  • Both the ioThreads and listenerThreads are shared resources across all the producer and consumers that are created from the Pulsar Client. Thus, you would have a total of 3 io threads, and 15 listener threads regardless of how many consumers and/or producers you create from that Pulsar Client.