La caché es esa gran desconocida que actúa en las sombras para que Internet sea posible. Ya no hablo solamente de plugins de caché de Wordpress, o de caché ofrecida por CDNs diversos, hablo de caché en general para todo tipo de sistema.
Esta tecnología suele tener pocos avances, pero ahora hay una noticia que ha llamado mi atención, un nuevo sistema de caché desarrollado por investigadores de Microsoft, diseñado para mejorar significativamente el rendimiento y la escalabilidad de las aplicaciones y servicios web interactivos en comparación con las soluciones de caché tradicionales.
Por lo visto llevan más de 10 años trabajando con el tema, y se ha usado en varios casos de uso dentro de Microsoft, incluyendo plataformas como Windows & Web Experiences, Azure Resource Manager y Azure Resource Graph.
Se trata de Garnet, y ahora se ha abierto el código fuente de Garnet, por lo que desarrolladore sde todo el mundo pueden echar un vistazo para ver cómo podría aplicarse en diferentes sectores.
En el blog de Microsoft dan los detalles, donde destaca por varias razones:
- Protocolo de red: Utiliza el protocolo RESP, permitiendo el uso de clientes Redis sin modificaciones, lo que facilita su adopción.
- Escalabilidad y rendimiento: Ofrece una mejor escalabilidad y rendimiento con muchas conexiones de cliente y tamaños de lote pequeños, lo que resulta en ahorros de costos para aplicaciones y servicios grandes.
- Latencia: Muestra una mejor latencia en el percentil 99 y 99.9, crucial para escenarios del mundo real.
- Plataforma y extensibilidad: Basado en la última tecnología .NET, es cross-platform, extensible y moderno, diseñado para ser fácil de desarrollar y evolucionar sin sacrificar el rendimiento.
Poniéndonos un poco más técnicos, entre las características de la API de Garnet se incluyen operaciones de cadenas crudas, analíticas y de objetos, un modo de clúster con particionamiento, replicación y migración dinámica de claves, y soporte para transacciones. Su diseño de red y almacenamiento optimiza el uso de las capacidades de hardware moderno y ofrece una extensibilidad futura, como la integración de stacks de bypass del kernel.
Los resultados de rendimiento comparativos con sistemas de caché de código abierto líderes, como Redis, KeyDB y Dragonfly, muestran que Garnet supera en escalabilidad, rendimiento y latencia, ofreciendo beneficios significativos incluso con cargas de trabajo distribuidas y en entornos de alta demanda.
Con el código abierto, ya en Github, Microsoft invita a la comunidad a contribuir al proyecto, lo que probablemente acelerará la innovación y la adopción de Garnet en el ecosistema tecnológico.