我说有N个站点:Site1,Site 2,Site3..upto Site N。
现在,每个网站都有自己的处理请求的倾向,并且有一个配置说网站X可以处理每B秒的A个请求。
因此,有些工人不断地进入这些网站。如果我要为一个站点做,那么CacheBuilder会有所帮助。
但我怎样才能为N个网站做到这一点。
Cache<String, String> graphs = CacheBuilder.newBuilder()
.concurrencyLevel(4)
.weakKeys()
.maximumSize(10000)
.expireAfterWrite(10, TimeUnit.MINUTES)
.build(
new CacheLoader<String, String>() {
public String load(String key) {
return "HEY";
}
});
在此,密钥可以是messageID,值可以是其放置的时间戳。 假设站点X每5秒有2个请求。然后expireAfterWrite将处理这个。
理想情况下,我正在寻找这个CacheBuilder的Map,其中Key将是Site Name,值将是这个CacheBuilder对象。
如果除此之外还有什么可以是理想的数据结构?如果不是,那么如何为这个用例修改它?