-
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
KEDA scaler for Redis Streams #746
Comments
If this sounds interesting, I can continue working on the implementation |
Here are some additional points:
|
The
|
I've added it to today's standup meeting but think this would be a good addition - Will discuss and let you know! Feel free to join if you want as well. |
Thanks for the work. I wonder why you have chosen the count of Pending Entries as the trigger for scaling. Based my own understanding, the count should equal to the number of consumers (each will read an entry, process and acknowledge it). The increase of Pending Entries correlate to the increase of the number of consumers, it seems to does the opposite as the trigger for scaler. @abhirockzz |
Can I use this for a job queue? From my understanding and testing, when a message is added using Is this correct? For now, I'll try using Redis lists. |
@accnops is right. If I have an application adding messages to a stream, they are not delivered to any consumer group until an Why not have an option to create a Job without a consumer group? This way any new messages added to a stream would trigger a Job and the user would be able to do their processing over the newly added messages. Keda developers, please let us know if there is a workaround to this issue. |
@nakumgaurav could you please open a separate issue for this? |
Thank you @zroubalik I filed my question and a potential workaround in #2044 |
Redis Streams, a data type introduced with Redis 5.0 is an append-only log data structure. One of its features includes "consumer groups" that allows a group of clients to co-operate consuming a different portion of the same stream of messages.
This scaler can check the Pending Entries List (see
XPENDING
https://redis.io/commands/xpending) for a specific Consumer Group of a Redis Stream and scale-out the Deployment as per the count returned (byXPENDING
command). If you have a Redis Streams consumer application that is unable to keep up with the rate of production, KEDA can help by auto-scaling the no. of instances (part of the same consumer group) so that it can start sharing the processing workload.The text was updated successfully, but these errors were encountered: