-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
Support 'startThreshold' for queue scalers like Kafka #692
Comments
Interesting. Question is, should 1 be configurable or just how it behaves because AFAIK it was spinning up an instance once there is a message already; no @jeffhollan ? |
One, as the default, would be ideal. I’m pretty sure that’s what 99% if use cases would call for. Being able to configure it to wait for more than one would be a benefit in some special cases. |
I like this idea to enable this option (keeping the default as it is currently of course). @ppatierno WDYT? |
#1303 @zroubalik In response to our standup discussion yesterday, this is what I had to accomplish the minimumThreshold requirement. |
+1 on this feature. It would be a great improvement I think 👍 |
Discussed this with @knepe and he is willing to contribute this for Rabbit MQ scaler 🎉 We will do the POC on Kafka and then follow up with other scalers. |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions. |
Is this still WIP @knepe ? |
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions. |
This issue has been automatically closed due to inactivity. |
When using queue based scalers like EventHubs, Kafka, RabbitMQ it would be great to have a low threshold (of 1 message) when the HPA has scaled to zero, but keep the normal, larger lagThreshold when scaling up above one instance.
I'm mostly talking about Kafka a the moment, as that's what I use. I'd like to let my ScaledObject drop to zero for topics that don't see much traffic and start when a single message needs processing. However, I only want to scale one instance per 100 messages behind the head of the topic. This is especially useful when messages come infrequently but in batches when they do.
Something like this:
I think for this to work, the scaler would have to lie to the HPA about the metric value when it was greater or equal to the startThreshold but less than the lagThreshold and claim that it was the lagThreshold, or reconfigure the HPA when it scaled to zero and then back when scaled above zero.
The text was updated successfully, but these errors were encountered: