Arquitectura Kafka nativa en la nube: Evolución del almacenamiento por capas a un futuro sin disco
Tres puntos de vista de fuentes y conclusión de la verificación TSO
Hechos confirmados en común: La tendencia de evolución de Kafka es pasar de un diseño tradicional "compartido sin estado" a una arquitectura altamente desacoplada, para adaptarse a los cambios en la operación y el modelo económico del entorno en la nube.
Puntos de desacuerdo o diferencias principales: En cuanto al compromiso del almacenamiento, las etapas tempranas se centraron en el almacenamiento de bloques local, mientras que la tendencia actual es utilizar la almacenamiento por capas, introducido por KIP-405, que divide la capa de datos en una capa local de baja latencia y un almacenamiento remoto de alta capacidad (como S3).
Conclusión de la verificación TSO: Las tres fuentes confirman que el futuro de Kafka reside en el concepto de "sistema operativo económico", que exige que los equipos de plataforma establezcan un canal de reparto de costes impulsado por telemetría y gestionen los costes operativos derivados del almacenamiento y el rebalanceo.
Hechos confirmados en común
La evolución de Kafka es una respuesta a la realidad financiera del entorno en la nube. Tradicionalmente, Kafka dependía de un diseño "compartido sin estado" que optimizaba el hardware para lograr baja latencia. Sin embargo, al migrar a entornos en la nube, los costes de almacenamiento (como los costes de transferencia de datos entre zonas de disponibilidad y el almacenamiento de bloques costoso) se vuelven muy elevados, lo que obliga a Kafka a evolucionar de un sistema vinculado al hardware a un "sistema operativo económico" bajo un estricto control financiero.
Puntos de desacuerdo o diferencias principales
El artículo señala que, en cuanto a la arquitectura de almacenamiento, los arquitectos deben sopesar la sensibilidad a la latencia y el coste. La introducción de KIP-405 divide los datos en una capa de almacenamiento de bloques local y una capa de almacenamiento de objetos remoto, lo que requiere que los equipos de plataforma decidan si habilitar el almacenamiento por capas basándose en el ciclo de retención de los datos y el patrón de lectura. Además, el problema del aislamiento multiinquilino también plantea desafíos; tradicionalmente se debía elegir un clúster dedicado o aceptar un aislamiento débil, mientras que los "clústeres virtuales" ofrecen una vía intermedia que equilibra el aislamiento y evita la duplicación de infraestructura.
Contexto y análisis
El cambio en la arquitectura de Kafka no es solo una actualización tecnológica, sino una reconfiguración del modelo económico. El traslado de los costes de almacenamiento significa que los equipos de plataforma deben pasar de monitorear los costes de "adquisición" de infraestructura a monitorear los costes de "uso de API en la nube". Esto requiere que los equipos de plataforma tengan visibilidad a nivel de cliente para asignar los costes potencialmente enormes de cada operación de reproducción.
Resumen de los puntos de vista de las fuentes
Almacenamiento por capas: KIP-405 desacopla el almacenamiento, utilizando el almacenamiento de bloques local para lograr baja latencia y el almacenamiento de objetos (como S3) para lograr alta capacidad, lo que requiere un compromiso basado en el tiempo de retención de los datos y el patrón de lectura.
Protocolo de rebalanceo: Las mejoras en el protocolo de rebalanceo de la próxima generación reducen significativamente las interrupciones operativas causadas por la expansión dinámica de consumidores, haciéndolo más adecuado para la expansión automática nativa de Kubernetes.
Aislamiento multiinquilino: A través del modo de "clúster virtual", se puede lograr un límite estricto de inquilinos, evitando el enorme coste de mantener un clúster independiente para cada equipo.