Fixed windows have a nasty boundary problem.
Window 1
00:00 βββββββββ 01:00
100 requests
Window 2
01:00 βββββββββ 02:00
100 requests
A client can theoretically make:
100 requests at 00:59
100 requests at 01:01
That's 200 req in 2mi