Il mio team sta sviluppando un'API multilivello con scalabilità e modularità in mente. Il punto di accesso pubblico dell'API è completamente REST. Tuttavia, stiamo dividendo il livello di accesso ai dati come un altro livello nella nostra architettura e questo strato si troverà su un altro server fisico. Abbiamo deciso che RPC sarebbe un buon protocollo di comunicazione tra l'API pubblica e il livello di accesso ai dati privato.
Abbiamo deciso di utilizzare RPC su REST per la comunicazione privata tra i nostri livelli perché:
- Evita il REST instrada la duplicazione tra ogni livello
- Trasparenza nell'esecuzione di codice / funzioni su server diversi
- La comunicazione è privata. Con una buona documentazione non dovrebbero esserci problemi per il team per capire il protocollo di comunicazione.
La mia domanda è:
- Abbiamo perso vantaggi o svantaggi nella scelta del protocollo di comunicazione per la comunicazione privata tra i livelli?
- Che cosa è normalmente utilizzato per le comunicazioni tra i livelli in un'architettura multilivello, in particolare per le API Web?