Quiero crear una aplicación de microservicios , en la que cada microservicio es responsable de su propia parte del front-end. Al mismo tiempo, quiero crear el front end en AngularJS como una aplicación de página única (SPA). Cuando se despliega un nuevo microservicio, el front-end web recogerá automáticamente la nueva parte del front-end y la agregará al SPA. ¿Cuál sería la mejor manera de darse cuenta de 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) puede ver qué microservicios están en línea y crear una página html que incluye los módulos angulares de esos microservicios.
Lo que el componente front-end también puede hacer 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 la apariencia.
¿Es esta la mejor manera de lograr este objetivo? ¿Alguien tiene experiencia con esto?