Microservicios
Una arquitectura con servicios delimitados que pueden evolucionar, operarse y desplegarse con la mayor independencia posible.
Servicios autónomos con responsabilidad clara
Una arquitectura de microservicios divide la aplicación en servicios delimitados por el negocio con interfaces definidas. Deben poder evolucionar y desplegarse de forma independiente. Incluye responsabilidad clara sobre sus datos respectivos y el acceso a ellos.
En un ejemplo ficticio, la generación de informes tiene su propio despliegue mientras la aplicación de trabajos aporta datos mediante una interfaz acordada. Requiere acuerdos de versión y comportamiento definido ante cortes. Los procesos separados que deben desplegarse juntos en cada cambio aún no logran esa independencia. Evalúe supervisión, gestión de errores y consistencia de datos junto con la libertad de cambio. Muchos servicios pequeños no garantizan buena estructura ni mayor disponibilidad.
Fuentes
Términos relacionados
- Arquitectura de softwareDecisiones fundamentales sobre estructura, interacción y objetivos de calidad de un sistema de software.
- MonolitoUna aplicación cuyo núcleo se despliega como una unidad común; puede contener módulos internos separados.
- Monolito modularUna aplicación desplegada conjuntamente con módulos internos e interfaces delimitados expresamente.
- Prueba de contratoUna prueba de los mensajes acordados entre consumidor y proveedor en una interfaz de aplicaciones.
- Cache stampedeUn cache stampede ocurre cuando solicitudes simultáneas no encuentran el mismo dato en caché y repiten el trabajo costoso.
- BackpressureEl backpressure adapta el flujo de datos entrante a la capacidad del receptor mediante señales para reducir el ritmo o hacer una pausa.
Su proyecto con ASES
Descríbanos su proyecto. Le responderemos con una primera valoración.