Abbiamo tre servizi web (/a
, /b
, /c
) dove ogni mappe di servizio a un metodo (go()
) in una classe Java separato (ClassA
, ClassB
, ClassC
).Come impedire la concorrenza nell'API del servizio Web?
Solo un servizio deve essere eseguito allo stesso tempo (ad esempio: /b
non può essere eseguito mentre è in esecuzione /a
). Tuttavia, poiché questa è un'API REST, nulla impedisce ai client di richiedere l'esecuzione contemporanea dei servizi.
Qual è il metodo migliore e più semplice sul server per far rispettare che i servizi Non eseguiti contemporaneamente?
Aggiornamento: Si tratta di un'applicazione interna, non avremo un grande carico e sarà solo avere un unico application server.
Aggiornamento: Questa è una domanda soggettiva in quanto è possibile formulare argomenti diversi sulla progettazione generale dell'applicazione che influisce sulla risposta finale. Ho accettato la risposta di Overthink come ho trovato più interessante e utile.
@Marcus: potrebbe essere un'app interna, ma progettare qualcosa con limiti incorporati in questa fase è una cattiva idea. Potresti * pensare * che non avrà mai bisogno di ridimensionare, ma puoi esserne sicuro? Salva te stesso il mal di testa più tardi lungo la linea e aderire ad alcune migliori pratiche! – jkp
@jkp, punto preso. –