Crear un extremo delantero AngularJS para una aplicación de microservicios

8

Quiero crear una aplicación Microservices , en la que cada microservicio es responsable de su propia parte del extremo frontal. Al mismo tiempo, quiero crear el extremo delantero en AngularJS como una aplicación de una sola página (SPA). Cuando se implementa un nuevo microservicio, el front-end web automáticamente tomará la nueva parte del front-end y la agregará al SPA. ¿Cuál sería la mejor forma de realizar esto?

Esto es lo que se me ocurrió. Cada microservicio podría ser responsable de su propio módulo angular. Luego, cuando el cliente navega a la aplicación, un componente del servidor (ASP.NET o JSP) podría ver qué microservicios están en línea y crear una página html que incluya los módulos angulares de esos microservicios.

Lo que también puede hacer el componente frontal es habilitar algunos microservicios para algunos clientes específicos que tienen privilegios extendidos, como administradores o clientes VIP.

Por supuesto, para que esto funcione, necesito una buena forma estructurada para que cada microservicio ocupe una parte de la pantalla, sin "saber" qué otros microservicios hay en la pantalla. Una solución simple sería crear una pestaña para cada microservicio. En la pestaña, el microservicio a cargo puede poner su funcionalidad en la página. El componente frontal sería responsable de cosas generales como el enrutamiento (angular) y el aspecto y la apariencia.

¿Es esta la mejor manera de lograr este objetivo? ¿Alguien tiene experiencia con esto?

    
pregunta nicojs 17.01.2015 - 09:13

1 respuesta

3
  

Descargo de responsabilidad: no he creado una aplicación con una arquitectura de microservicios, simplemente estoy usando mi intuición aquí, y lo que considero es sobre todo de sentido común.

Creo que intentar manejar esto en el front-end es una exageración. Le recomendaría que construya un backend para su aplicación de una sola página, que sepa qué microservicios están disponibles o no (ya sea verificando las credenciales de los usuarios como lo mencionó, o el servicio que está fallando por mantenimiento, etc.), y eso organizará todo. . Llamaría a esto la capa aplicación , que une todo y actúa como una fachada para acceder a los diferentes microservicios.

Su SPA no necesita saber que está obteniendo sus datos de microservicios. Definitivamente, debe solicitar los datos desde un único punto de entrada, que envía las consultas a los servicios apropiados.

    
respondido por el marco-fiset 20.01.2015 - 21:42

Lea otras preguntas en las etiquetas