¿Qué es la resiliencia?
La resiliencia como término viene del inglés y significa resistencia.
En psicología y a nivel personal es la capacidad que tiene una persona para superar circunstancias traumáticas y mirar hacia el futuro, se dice que la resiliencia potencia la felicidad.
El concepto aplicado a la arquitectura microservicios podemos entenderlo como la capacidad que tiene un sistema, -en este caso la arquitectura- para continuar brindando altos niveles de calidad de servicio aun cuando una parte del mismo esté fuera de servicio temporal o permanentemente.
Una arquitectura es “resiliente” cuando evita los fallos en cascada y tiene la capacidad de mantener la arquitectura en un estado de consistencia de sus datos.
Un concepto muy relacionado con la resiliencia es la elasticidad.
¿Cómo podemos lograr la resiliencia?
La resiliencia es una característica que debe ser concebida desde el propio diseño de la arquitectura con un correcto modelado de los microservicios, aplicar los siguientes patrones ayudarán a construir una arquitectura resistente a fallos.
- Bulkhead
- Balanceo de carga
- Reintentos
- Circuit Breaker
- Publicador/suscriptor
- Azul / Verde
- Timeouts
- Rate Limiters
- Cache
- Fallback
Pulsando sobre los enlaces de los items anteriores puedes acceder a explicaciones de cada uno de ellos en ese mismo blog. Además puede revisar nuestro libro en el que explicamos el funcionamientos de 25 patrones relacionados con la arquitectura microservicios además de otras temáticas.
Te recomendamos nuestro vídeo sobre este tema en Youtube.