Ich habe eine REST API mit Spring Boot erstellt, die grundsätzlich zwei Bilder per POST akzeptiert und einen Bildvergleich durchführt. Die API wird synchron aufgerufen. Ich verwende keinen externen Anwendungsserver, um den Dienst zu hosten, sondern packe es als ein jar und führe es aus.Mehrere Anfragen effizient bearbeiten in einer REST API
@RequestMapping(method = RequestMethod.POST, value = "/arraytest")
public String compareTest(@RequestParam("query") MultipartFile queryFile,@RequestParam("test") MultipartFile testFile,RedirectAttributes redirectAttributes,Model model) throws IOException{
CoreDriver driver=new CoreDriver();
boolean imageResult=driver.initProcess(queryFile,testFile);
model.addAttribute("result",imageResult);
return "resultpage";
}
Der Service könnte parallel über mehrere Maschinen hinweg aufgerufen werden und ich würde meinen Service benötigen, um effizient zu arbeiten. Ich versuche zu verstehen, wie parallele Anrufe an einen REST-Dienst gehandhabt werden. Wenn die Anfrage an den Service gesendet wird, wird ein einzelnes Objekt des Service erstellt und dasselbe Objekt in mehreren Threads verwendet, um mehrere Anfragen zu bearbeiten? Eine weitere Frage wäre, ob es möglich ist, die Leistung eines Dienstes im Hinblick auf die Bearbeitung von Anforderungen zu verbessern, anstatt die Leistung der Dienstfunktionalität zu verbessern.