È intelligente utilizzare un'API sullo stesso server dell'applicazione Web

6

Sono nuovo per le API RESTful e vorrei trovare alcune informazioni.

Al momento eseguiamo un riassunto giornaliero di materiale eHealth per consentire al pubblico di leggere e aggiornare i contenuti relativi a tale argomento. Che è alimentato da Laravel 5.2 e un database MySQL.

Abbiamo un server basato su linux che è ospitato con un ISP attualmente su processore RAM da 8 GB, processore Core i7.

Il mio capo ha suggerito di iniziare a utilizzare le API come intermediari tra le nostre app man mano che ci spostiamo sui dispositivi mobili e i nostri lettori crescono poiché ora supportiamo gli utenti che hanno accesso a un'ampia gamma di funzioni.

La mia domanda è: è intelligente eseguire l'applicazione web e l'API sullo stesso server. Ho suggerito di affittare un altro server, spostando il nostro database fino ad esso e quindi costruendo l'API per sedervi e servire i contenuti. Tuttavia il mio capo ha informato che un altro server è fuori discussione a causa di implicazioni sui costi.

Il mio pensiero come sviluppatore è perché costruisci un'API sullo stesso server se l'app Web si sta già connettendo tramite lo stesso server al DB e sta interrogando il contenuto. Sembra solo un lavoro aggiuntivo.

Ogni pensiero sarebbe fantastico.

    
posta Wes Murray 13.06.2016 - 16:45
fonte

2 risposte

8

Why build an API on the same server if the Web App is already connecting via the same server to the DB and querying the content.

Lo scopo dell'API è fornire un'interfaccia uniforme per le tue app locali e i tuoi dispositivi mobili con cui parlare. È un livello software, non un livello fisico.

L'esecuzione dell'API e dell'applicazione sullo stesso server è perfettamente valida, a condizione che il server possa gestire il carico.

    
risposta data 13.06.2016 - 16:58
fonte
2

Penso che vada bene. In effetti puoi usare la stessa applicazione per fornire una risposta coerente . per esempio. sul mio progetto corrente il webservice fornisce risposte HTML e JSON dallo stesso servizio, sugli stessi URL. Il mezzo con cui determina cosa fare e come rispondere è puramente basato sulle intestazioni HTTP Accept.

    
risposta data 13.06.2016 - 17:50
fonte

Leggi altre domande sui tag