...
|
...
|
@@ -13,8 +13,8 @@ import com.yoho.search.service.base.SearchDynamicConfigService; |
|
|
@Service
|
|
|
public class PersionalRateLimitService {
|
|
|
|
|
|
private static final Logger logger = LoggerFactory.getLogger(PersionalRateLimitService.class);
|
|
|
|
|
|
private static final Logger DOWNGRADE = LoggerFactory.getLogger("DOWNGRADE");
|
|
|
|
|
|
@Autowired
|
|
|
private SearchRedis searchRedis;
|
|
|
@Autowired
|
...
|
...
|
@@ -32,13 +32,17 @@ public class PersionalRateLimitService { |
|
|
if (count == 1) {
|
|
|
searchRedis.searchRedisTemplate.longExpire(redisKey, limitConfig.getSecond(), TimeUnit.SECONDS);
|
|
|
}
|
|
|
return count > limitConfig.getLimit();
|
|
|
if(count > limitConfig.getLimit()){
|
|
|
DOWNGRADE.error("PersionalRateLimit happen ,rateLimitName is [{}], redisKey is [{}] ,count is[{}], limitConfig is [{}]", rateLimitName, redisKey, count, limitConfig.toLogInfo());
|
|
|
return true;
|
|
|
}
|
|
|
return false;
|
|
|
} catch (Exception e) {
|
|
|
logger.error(e.getMessage(), e);
|
|
|
DOWNGRADE.error(e.getMessage(), e);
|
|
|
try {
|
|
|
searchRedis.searchRedisTemplate.delete(redisKey);
|
|
|
} catch (Exception e2) {
|
|
|
logger.error(e2.getMessage(), e2);
|
|
|
DOWNGRADE.error(e2.getMessage(), e2);
|
|
|
}
|
|
|
return false;
|
|
|
}
|
...
|
...
|
|