AuroraTwinkle commented on PR #22861: URL: https://github.com/apache/pulsar/pull/22861#issuecomment-2160192637
> This isn't directly related to this feature request, but I thought that it might be useful to share. > > There's "PIP-234: Support using shared thread pool across multiple Pulsar client instance" https://lists.apache.org/thread/5jw06hqlmwnrgvbn9lfom1vkwhwqwwd4 . This hasn't been implemented yet. This would be useful when there's an application that creates multiple Pulsar clients and would like to share the thread pools. This PIP could also be make to support sharing all other thread pools, but overriding the thread pool used for message listeners. However I think that the `messageListenerExecutor` for ConsumerBuilder would be a better match for your use case. > > There's also a completely unrelated challenge when a single client is shared. It's about the rate limiting and backpressure handling. That is mentioned in the [out-of-scope part of PIP-322](https://github.com/apache/pulsar/blob/master/pip/pip-322.md#out-of-scope). Pulsar will share the same set of connections across all producers and consumers. When a producer or consumer is rate limited, it will impact other producers and consumers using the same connection. One of the ways to mitigate this is to introduce a way to ensure that a producer or consumer gets isolated when it's explicitly specified. There could be `isolatedConnection(boolean enabled)` etc. in ConsumerBuilder and ProducerBuilder to cover this. Looks great, hope it can be implemented soon! -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@pulsar.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org