Attualmente sto lavorando a un servizio che dovrebbe aggregare i dati di un certo numero di API, unificare i dati e offrirli tramite un'altra API agli utenti. Ho avuto un paio di idee per risolvere questo problema, ma non sono sicuro che la mia soluzione migliore sia la migliore soluzione possibile.
Soluzioni che ho considerato:
- Consenti al browser di eseguire il polling della nostra API tramite javascript, che a sua volta esegue il polling delle API di terze parti. Questo introduce un po 'di ritardo tra la richiesta e l'utente che vede i dati, ma non spreca risorse sugli utenti che accedono raramente.
- Lascia che il browser esegua il polling delle API di terze parti e successivamente invii i dati alla nostra API. Questo è potenzialmente insicuro e mi richiede di fornire endpoint API aggiuntivi e molto più pulizia dei dati.
- L'opzione che considero attualmente la più ottimale è quella di consentire a un servizio sul server (un eseguibile effettivo) di eseguire periodicamente il polling delle API di terze parti. Vorrei, per esempio, sondare alcuni endpoint ogni 30 minuti, e altri forse una volta al giorno. Questa è l'opzione più sicura e introduce poco ritardo nelle richieste degli utenti e impedisce agli utenti di raggiungere il limite di richieste dell'API. Ma i dati saranno aggiornati solo dopo il polling.
Ci sono alternative? In caso contrario, la mia soluzione ottimale attuale è abbastanza buona?