¶Ô±ÈÐÂÎļþ |
| | |
| | | ## æ³æ³ |
| | | æ´é²ä¸äºç«¯ç¹ï¼æä¾ä¸äºåè½ã |
| | | |
| | | 1. http-cache |
| | | |
| | | 2. RateLimiter |
| | | |
| | | 3. ... ... |
| | | |
| | | ### 䏿¯ç¨ç½å
³ï¼åä½åºç¨ |
| | | æ¦æªå¨å¤çï¼åºäº redis ç cache æ¶é´æè
RateLimiterå¤çã |
| | | |
| | | ç»æï¼serviceName:http-cache:/user/1?queryString If-Modified-Since |
| | | ç»æï¼serviceName:RateLimiter:/user/1 99 |
| | | |
| | | ### 使ç¨ç½å
³ |
| | | å°ç«¯ç¹ä¿¡æ¯åå¨å° redis éï¼ä¾ ç½å
³ä½¿ç¨ã |
| | | ç»æï¼serviceName:http-cache:endpoint:/user/{id} 100s |
| | | |
| | | ç»æï¼serviceName:RateLimiter:endpoint:/user/{id} 100/s |
| | | |
| | | ## RateLimiter Headers |
| | | ```text |
| | | #=============================#===================================================# |
| | | # HTTP Header # Description # |
| | | #=============================#===================================================# |
| | | | X-RateLimit-Limit | Request limit per day / per 5 minutes | |
| | | +-----------------------------+---------------------------------------------------+ |
| | | | X-RateLimit-Remaining | The number of requests left for the time window | |
| | | +-----------------------------+---------------------------------------------------+ |
| | | | X-RateLimit-Reset | The remaining window before the rate limit resets | |
| | | | | in UTC epoch seconds | |
| | | +-----------------------------+---------------------------------------------------+ |
| | | ``` |