spring-cloud/spring-cloud-gateway

Make RedisRateLimiter extensible?

開放

#393 建立於 2018年6月26日

 (2 則留言) (1 個反應) (0 位負責人)Java (3,204 個分叉)batch import
enhancementhelp wanted

倉庫指標

星標
 (4,284 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Hey guys!

In order to be able to rate limit per user API key (versus basing the limit on the route) I had to extend RedisRateLimiter to make isAllowed(String routeId, String apiKey) calculate the limits based up on the route and the apiKey. Please see the full thing here: https://stackoverflow.com/questions/50988095/rate-limiting-based-on-user-plan-in-spring-cloud-gateway

As you see it is somewhat hackish there because there's no good way to extend RedisRateLimiter - see I had to decorate it, copy some private/default scoped methods over as well as hack the @Primary annotation so it gets into the bean factory well.

Do you think RedisRateLimiter would be re-architected to be easier to extend? Thanks!

貢獻者指南