New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Self-Balancing Knative Kafka Broker partitions #2917
Comments
Hello 👋🏽 , I have previously worked with Kafka, Kubernetes, and Scala. I found one method for modifying the number of partitions in kafka docs, but this does not preserve the ordering |
Hi @dharmicksai, the ordering is a real challenge, however, the Knative Kafka Broker is not always bound to a specific topic which means we can "migrate" producers and consumers to a (different) topic while also keeping ordering guarateed. |
hey, @pierDipi in the above approach why are you suggesting to migrate producer and consumer to different topic? idealy to solve this issue we should implement some autoscaler approach to increase/decrease the number of partition for a same topic? |
Hey @pierDipi, |
Hey, it will be better to add |
Hello @pierDipi, To address this issue, the proposed solution aims to eliminate the need for manually configuring the number of partitions. Instead, an autoscaler will be implemented to dynamically manage the partition count within predefined bounds. The autoscaler will monitor the effective load received by the Knative Kafka Broker and adjust the number of partitions accordingly, ensuring efficient scalability. Regarding the target persona for this feature, it primarily benefits the "Event producer" persona. As an event producer, they can utilize the Knative Kafka Broker without the burden of explicitly specifying partition numbers. The autoscaler will handle the partition management, allowing the event producer to focus on their core tasks. To meet the exit criteria for this feature, I believe the following conditions should be fulfilled: It should be possible to create a Knative Kafka Broker without the need to set the number of partitions explicitly. Knative documentation on Kafka Broker: Link 1 Kindly wanted to know what you think about this? |
Thanks @rukundob451 |
Hi @pierDipi |
Problem
Creating a Knative Kafka Broker requires developers to specify the number of partitions the backing Kafka topic should have, however, this is not an easy decision to make and it requires planning based on the expected load the Knative Broker could receive.
This project aims to remove this configuration setting by having an autoscaler that is responsible to add or remove partitions (within bounds) based on the effective load the Knative Kafka Broker receives while preserving ordered and unordered delivery features for Triggers.
Persona:
Which persona is this feature for?
Exit Criteria
A Knative Kafka Broker can be created without setting the number of partitions and the number of partitions for the topic backing the Knative Kafka Broker increases or decreases based on the observed load received.
Additional context (optional)
The text was updated successfully, but these errors were encountered: