Considerare un'infrastruttura di servizi micro in cui ciascun servizio è responsabile di un insieme di attività e espone un'interfaccia RESTful alle sue funzionalità. Ad esempio, supponi un'applicazione di chat.
Potremmo avere un servizio responsabile della creazione di utenti e un secondo servizio responsabile della creazione di messaggi.
Ora vogliamo creare un'interfaccia REST pubblica per l'applicazione. Esistono buone pratiche per creare questa facciata pubblica per i micro servizi? Sono interessato a un paio di cose, principalmente:
- Quale livello deve gestire l'autenticazione / l'autorizzazione (se i servizi sottostanti - condividono questi dati o ciascuno implementa la propria autenticazione)
- Chiaramente in questa applicazione i messaggi vengono inviati dagli utenti agli utenti. Tuttavia, il servizio messaggi può essere facilmente scritto in modo tale da essere utilizzabile per qualsiasi cosa. Dovrebbe essere il proxy pubblico a determinare le informazioni dell'utente e quindi delegare a un servizio messaggi?