-
Notifications
You must be signed in to change notification settings - Fork 186
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
Proposal ~ Sliding Window based algorithm for state transitions of CB #64
Comments
@YoshiyukiMineo lmk when you see this, I am not starting this implementation as you might be busy for discussing this and merging eventually and I don't want the effort to go to waste. I am happy to pick this up when you are free. |
@pg30 |
Cool, Will check it out and pick it up sometime over next weekend. |
Hey @pg30, Are you working on this? |
Hey @brijsiyag-meesho |
Hey @YoshiyukiMineo ,
I am new to golang and recently integrated this library in one of my prod services. After going through the code base, I noticed that it uses fixed windows for maintaining and clearing counts of success/failure requests which works fine for most of the use cases out there, but it has some drawbacks as already raised previously.
I am thinking of contributing the sliding window based algo where window can be either COUNT based or TIME based and we can configure the window size along with failure thresholds.
For implementation I am thinking a circular array of size N (window size) where each index will either represent a request (COUNT based) or a second (TIME based). In TIME based each index will also contain partial aggregates of success/failed request in that second along with a total aggregate of a window.
Lmk your thoughts on the approach.
The text was updated successfully, but these errors were encountered: