Todo está integrado aquí, y hay una buena guía que describe cómo usarlo. El segundo paso es generalmente entender cuáles son las arquitecturas más comunes de Microfront Ends. Las he recopilado para ti, así que no tienes que hacer ese trabajo. Usualmente, la mayoría de las veces, ya sea que hagas Microfront Ends en renderización del lado del servidor o renderización del lado del cliente, comienzas con un application shell o un UI composer. La responsabilidad de esta pieza de arquitectura es muy simple. Cargas el sitio web. Es lo primero que se carga, ya sea en el servidor o en el cliente. Maneja la configuración, encontrando información como en qué dispositivo estás renderizando. Por ejemplo, el país donde está el usuario, y cosas así. Tienes autenticación, autorización, manejo, centralizado dentro del application shell, composición, así que cómo puedo cargar de manera diferida mis Microfront Ends dentro de la UI, y enrutamiento en el primer nivel de enrutamiento. Te mostraré en un segundo a qué me refiero con eso.
Después de eso, comienzas a construir tus Microfront Ends. La implementación más común que he visto en local o en la nube es esta. Cada equipo está construyendo sus propios Microfront Ends, envían archivos estáticos a un almacenamiento de objetos, posiblemente no contenedores, por favor, por muchas razones, pero en almacenamientos de objetos están absolutamente bien, o almacenamiento de blobs, donde pones tus archivos estáticos, pones el CDN delante de él, y el application shell simplemente está extrayendo estos archivos estáticos de allí. El CDN juega un papel fantástico aquí, porque no es solo para análisis estático, para activos estáticos, sino también para seguridad, enrutamiento, etc. Del lado del cliente, muy simple, no hay ciencia espacial detrás de eso. La renderización del lado del servidor es mucho más complicada.
Una vez más, en este caso, tenemos el application shell que vive en su lugar en el servidor. Cuando el navegador solicita tu sitio web, el CDN pasa a través del clúster específico de contenedores o funciones serverless, y en este caso, básicamente enrutas a través del CDN, por lo que tienes múltiples orígenes que están golpeando diferentes endpoints. Podría ser slash home, slash products, slash my account. Sorpresa, sorpresa, estos pueden parecerse a la estructura de tus equipos o dominios dentro de tu aplicación. Y por lo tanto, tengo un equipo que se dedica a renderizar el home, los productos, etc. El application shell aquí está integrado junto con el propio Microfront End. La belleza de esto es que puedo cachear cada endpoint de diferentes maneras. Puedo decidir que el home debería tener un TTL de tiempo de vida en el CDN de 10 segundos. Al menos absorbe un poco de tráfico. Pero mi cuenta o checkout podría ser más largo, porque es muy estable, no cambia muy a menudo. Esta es una técnica que uso mucho. Por ejemplo, sitios web que probablemente hayas escuchado, formula1.com está construido de esta manera. La renderización del lado del servidor también puede estar en el siguiente paso, donde tengo un UI composer que vive dentro de un contenedor, como slash home, y tengo un montón de archivos estáticos que se cargan de vez en cuando.
Comments