0
我的RESTful基於Spring的Web服務收到差異化的用戶請求,比如金牌,銀牌和銅牌,其中金牌請求具有最高優先級,銅牌最低。所以我想實現一些簡單類型的差異化服務配置。這可能是最簡單的(我會說幾乎嘲笑)戰略實施?我的REST風格的Web服務的最簡單的QoS策略
我在考慮如果我服務更多的優先級時阻塞較少的優先級。像這樣的東西
@Controller
public class MyController {
@Autowired
private MyBusinessLogic businessLogic;
private static final int GOLD=0;
private static final int SILVER=1;
private static final int BRONZE=2;
private volatile int [] count = new int[3];
@RequestMapping
public String service(@RequestBody MyRequest request) {
count[request.getType()]++;
for(int i=0; i<request.getType(); i++)
if(count[i]>0)
Thread.sleep(500);
String result = businessLogic.service(request);
count[request.getType()]--;
return result;
}
}
這是否合理?或者它有一些不良的副作用? 您是否推薦更好的策略?