Ho un'applicazione web che utilizza il plugin jQuery completamento automatico, che invia essenzialmente tramite la tecnologia AJAX una richiesta contenente testo che è stato digitato in una casella di testo al nostro server web, una volta il server Web riceve questa richiesta, quindi viene trasferito a rabbitmq.E 'opportuno utilizzare code di messaggi per le chiamate RPC sincrone tramite la tecnologia AJAX
So che otteniamo benefici dall'utilizzo della messaggistica, ma sembra che utilizzarlo per bloccare le chiamate rpc sia un uso improprio e che qualcosa come WCF sia molto più appropriato in questo caso, è questo il caso o è considerato accettabile architettura?
Ovviamente dipende dalla vostra applicazione, è possibile utilizzare la coda per le chiamate RPC, ma penso che non è la sua naturale utilizza. Per aiutarti ho due domande: 1. Perché usi le chiamate sincrone? 2. Hai qualche problema con la tua attuale applicazione? Ad ogni modo, non so in quale lingua si stia sviluppando l'applicazione, ma penso che si possano usare le chiamate asincrone con RabbitMQ e utilizzare alcune tecnologie come Spring DeferredResult per ottenere i risultati dalla propria coda. Non mi piacciono tanto le chiamate sincrone, perché si blocca il thread (ad esempio durante la ricerca del DB) inutilmente. – Gabriele
1. abbiamo chiamate sincrone per il plugin di completamento automatico, devi avere una risposta per la richiesta 2. nessun problema oltre a quello che penso sia un uso improprio dei messaggi in questa istanza e voglio cambiarlo, e sto cercando per prove a sostegno di questo cambiamento. – nickbw