Creare un front-end AngularJS per un'applicazione Microservices

8

Voglio creare un'applicazione Microservices , in cui ogni microservizio è responsabile per la propria parte del front-end. Allo stesso tempo, voglio creare il front-end in AngularJS come applicazione per pagina singola (SPA). Quando viene implementato un nuovo microservizio, il web front-end preleva automaticamente la nuova parte front-end e la aggiunge alla SPA. Quale sarebbe il modo migliore per rendersene conto?

Questo è quello che mi è venuto in mente. Ogni microservizio potrebbe essere responsabile del proprio modulo angolare. Quindi, quando il cliente accede all'applicazione, un componente server (ASP.NET o JSP) potrebbe vedere quali microservizi sono online e creare una pagina html che include i moduli angolari di quei microservizi.

Ciò che il componente front-end può anche fare è abilitare alcuni microservizi ad alcuni clienti specifici che hanno privilegi estesi, come amministratori o clienti VIP.

Ovviamente, perché funzioni, ho bisogno di un modo strutturato per ogni microservizio per occupare una parte dello schermo, senza "sapere" quali altri microservizi sono sullo schermo. Una soluzione semplice sarebbe quella di creare una scheda per ogni microservizio. Nella scheda, il microservizio responsabile può mettere la sua funzionalità nella pagina. Il componente di front end sarebbe responsabile per roba generale come il routing (angolare) e il look-and-feel.

È questo il modo migliore per realizzare questo obiettivo? Qualcuno ha esperienza con questo?

    
posta nicojs 17.01.2015 - 09:13
fonte

1 risposta

3

Disclaimer: I have not built an application with a microservices architecture, I'm simply using my intuition here, and what I consider being mostly common sense.

Credo che cercare di gestirlo sul front-end sia eccessivo. Ti consiglio di creare un backend per la tua applicazione a pagina singola, che sappia quali microservizi sono disponibili o meno (controllando le credenziali dell'utente come hai accennato, o il servizio è inattivo per manutenzione, ecc.) E ciò orchestrerà tutto . Chiamerei questo strato application , che incolla tutto insieme e funge da facciata per accedere ai diversi microservizi.

La tua SPA non ha bisogno di sapere che sta ottenendo i suoi dati dai microservizi. Dovrebbe sicuramente richiedere i dati da un singolo punto di ingresso, che invia le query ai servizi appropriati.

    
risposta data 20.01.2015 - 21:42
fonte

Leggi altre domande sui tag