dotnet / AspNetCore.Docs

Documentation for ASP.NET Core
https://docs.microsoft.com/aspnet/core
Creative Commons Attribution 4.0 International
12.6k stars 25.3k forks source link

Improvement Request: Better visualization of Sliding Window Limiter and other limiters #31253

Open SetTrend opened 10 months ago

SetTrend commented 10 months ago

Description

I feel it's hard to grasp the logic behind the Sliding Window limiter from the documentation.

The red and blue lines of the diagram in the documentation don't make sense. The diagram also doesn't convey the reasoning behind the Sliding Window Limiter logic:

Rate


Hence, I'd like to suggest to replace the existing diagram in the documentation with an animation that's more vividly and comprehensibly conveying the reasoning behind the Sliding Window Limiter:

Rate limiting middleware (30)


If you believe this to be a good idea but want to improve on the column headers or animation itself, please find the source Excel file and two animated GIFs (one is 15 fps, the other one 30 fps):

Rate limiting middleware.zip

I would also create a corresponding pull request if you are satisfied with my current design and suggest to create a PR.

Page URL

https://learn.microsoft.com/en-us/aspnet/core/performance/rate-limit?view=aspnetcore-8.0#sliding-window-limiter

Content source URL

https://github.com/dotnet/AspNetCore.Docs/blob/main/aspnetcore/performance/rate-limit.md

Document ID

bb96b20f-0991-d6de-4d98-192cd469460f

Article author

@Rick-Anderson

SetTrend commented 9 months ago

I'd like to add that the description of the other limiters (e.g., Token Bucket Limiter) is likewise impossible to grasp.

So, I suppose to also add the actual function definition that's implemented by each of the limiters to the documentation, so the reader can make an educated choice on which limiter to use.