Recientemente comenzamos a migrar nuestra aplicación empresarial monolítica a una arquitectura de microservicio más modular. Como parte de este proceso, hemos decidido crear una interfaz independiente dedicada para cada servicio escrito en React. Estas micro interfaces luego se representarán dentro de un marco principal que es responsable de administrar los componentes comunes en toda la aplicación: encabezados, pies de página, cajones de menú, estado de autenticación, etc.
Con fines ilustrativos, describamos estos microservicios de la siguiente manera:
Hasta este punto, no hay problemas con nuestra arquitectura.
Ahora supongamos que queríamos permitir a los usuarios no solo seleccionar una dirección existente durante el pago, sino también poder agregar una nueva dirección durante este proceso, sin tener que abandonar primero el proceso de pago para ir a la pantalla de administración de direcciones dedicada dentro de Dirección. Servicio.
Lo que efectivamente queremos hacer y ser capaces de hacer es:
¿Hay alguna manera de lograr algo como esto? Mi sensación es que, para empezar, va en contra del concepto completo de separar estos dos elementos en sus propias interfaces, y es mejor combinarlos en uno solo. Pero, ¿y si quisiéramos representar este componente de dirección en otros servicios en el futuro? ¿Seguramente una interfaz monolítica que sigue creciendo no es la única solución viable?
Las microfrontends suelen tener algún tipo de bus de eventos para comunicar un MF a otro. Puede usar eventos personalizados para implementar esto. Pero puede crear su propia implementación en su marco base.