Authored by hugufei

消费者限流可动态关闭

... ... @@ -40,4 +40,13 @@ public class ConsumerDynamicConfigService {
return configReader.getBoolean("search.consumer.ufo.yohoproductsalesnum.enable", true);
}
/**
* 增量更新是否限流
* @return
*/
public boolean increaseRateLimiterOpen() {
return configReader.getBoolean("search.consumer.increase.rate.limit.open", true);
}
}
... ...
... ... @@ -8,6 +8,7 @@ import com.yoho.error.event.SearchLogsEvent;
import com.yoho.search.base.monitor.PerformanceMonitor;
import com.yoho.search.base.utils.ISearchConstants;
import com.yoho.search.base.utils.MoudleEnum;
import com.yoho.search.consumer.common.ConsumerDynamicConfigService;
import com.yoho.search.consumer.common.YohoConcurrentLRUHashMap;
import com.yoho.search.consumer.index.increment.bulks.CommonBulkService;
import com.yoho.search.consumer.index.rebuild.RebuildFlagService;
... ... @@ -55,6 +56,8 @@ public abstract class AbstractMqListener implements ApplicationEventPublisherAwa
private TableConfigLoader tableConfigLoader;
@Autowired
private SearchMessageHelper searchMessageHelper;
@Autowired
private ConsumerDynamicConfigService consumerDynamicConfigService;
protected ApplicationEventPublisher publisher;
... ... @@ -68,11 +71,13 @@ public abstract class AbstractMqListener implements ApplicationEventPublisherAwa
*/
@Override
public void onMessage(Message message) {
limiter.acquire();
if (ignoreIncrease) {
logger.warn("be ignoreIncreasing ,please close the flag after successed ");
return;
}
if(consumerDynamicConfigService.increaseRateLimiterOpen()){
limiter.acquire();
}
try {
rebuildFlagService.waitingRebuildingIndex();
this.doBeforeConsume();
... ...
# global configurations, ConfigReader will write this file to zookeeper.
# global
search.degrade.consumer.adaptor.tbltoyoho.open=true
# suggestion
search.suggestion.consumer.hotkeyword.enable=true
search.suggestion.consumer.brandname.enable=true
search.suggestion.consumer.sortname.enable=true
... ... @@ -16,4 +18,7 @@ search.suggestion.consumer.stylename.enable=true
search.suggestion.increasement.spider.open=true
# ufo
search.consumer.ufo.yohoproductsalesnum.enable = true
\ No newline at end of file
search.consumer.ufo.yohoproductsalesnum.enable = true
# RateLimiter
search.consumer.increase.rate.limit.open = true
\ No newline at end of file
... ...