Quindi ho un'applicazione che durante vari passaggi durante il processo di un utente trasmetterà e riceverà dati da API esterne.
Attualmente il modo in cui viene gestito è abbastanza rudimentale. Ci sarà un POST, DELETE o PUT all'app. L'applicazione eseguirà quindi gli aggiornamenti necessari nel DB e invierà qualsiasi informazione alle API che stiamo utilizzando. Dopo aver ricevuto le risposte dal DB e dall'API rispondiamo alla richiesta dell'utente.
Quando ho iniziato con l'applicazione, i servizi esterni che stavamo usando erano piccoli, ma dopo aver lavorato su di esso per alcuni anni, il numero è aumentato. Dopo aver lavorato con un'API particolarmente dolorosa che ha tempi di risposta lenti, sto riscontrando che questa risposta alla richiesta dell'utente sta iniziando a sembrare lenta e dolorosa.
Come si gestisce l'interazione con servizi esterni lenti?
Ora a un livello più alto, so che una soluzione sarebbe implementare un sistema simile a una coda per queste API in cui le chiamate vengono inserite in una coda e un processo / servizio separato le elabora. Aggiorna il DB, spegni gli aggiornamenti API al micro-servizio e chiamalo un giorno. Ci sono altri approcci per gestire questo tipo di situazione?