Patrones de diseño para microservicios

Blog

El objetivo de los microservicios es aumentar la velocidad de los lanzamientos de aplicaciones, descomponiendo la aplicación en pequeños servicios autónomos que se pueden implementar de forma independiente. Una arquitectura de microservicios también presenta algunos desafíos. Los patrones de diseño que se muestran aquí pueden ayudar a mitigar estos desafíos.

Embajador se puede usar para descargar tareas comunes de conectividad de clientes, como monitoreo, registro, enrutamiento y seguridad (como TLS) de una manera independiente del idioma. Los servicios de embajadores a menudo se despliegan como un sidecar (ver más abajo).

Capa anticorrupción implementa una fachada entre aplicaciones nuevas y heredadas, para garantizar que el diseño de una nueva aplicación no esté limitado por dependencias de sistemas heredados.

Backends para Frontends crea servicios de backend separados para diferentes tipos de clientes, como computadoras de escritorio y dispositivos móviles. De esa manera, un único servicio de backend no necesita manejar los requisitos conflictivos de varios tipos de clientes. Este patrón puede ayudar a que cada microservicio sea simple, al separar las preocupaciones específicas del cliente.

Mamparo aísla los recursos críticos, como el grupo de conexiones, la memoria y la CPU, para cada carga de trabajo o servicio. Al usar mamparos, una sola carga de trabajo (o servicio) no puede consumir todos los recursos, dejando a otros sin recursos. Este patrón aumenta la resistencia del sistema al evitar fallas en cascada causadas por un servicio.

Agregación de puerta de enlace agrega solicitudes a varios microservicios individuales en una sola solicitud, lo que reduce la conversación entre consumidores y servicios.

Descarga de puerta de enlace permite que cada microservicio descargue la funcionalidad del servicio compartido, como el uso de certificados SSL, a una puerta de enlace API.

Enrutamiento de puerta de enlace enruta las solicitudes a varios microservicios mediante un único punto final, de modo que los consumidores no necesitan administrar muchos puntos finales separados.

Sidecar despliega componentes auxiliares de una aplicación como un contenedor o proceso separado para proporcionar aislamiento y encapsulación.

Estrangulador admite la refactorización incremental de una aplicación, reemplazando gradualmente piezas específicas de funcionalidad con nuevos servicios.

Para obtener el catálogo completo de patrones de diseño en la nube en Azure Architecture Center, consulte Patrones de diseño en la nube .

#java # spring-boot #microservicios

docs.microsoft.com

Patrones de diseño para microservicios

Aprendamos sobre los patrones de diseño para la comunicación sincrónica y asincrónica entre microservicios.