En entornos de produccion las comprobaciones de salud son tu sistema de alarma temprana pero no todas las probes son iguales. Las probes de liveness y readiness de Kubernetes indican si un servicio esta corriendo pero no si esta funcionando. Al construir una canalizacion basada en Kafka para el procesamiento de CVE nos topamos con este problema y desarrollamos probes inteligentes que saben si el consumidor esta realmente sano.
Problema con probes basicas Inicialmente usamos endpoints HTTP simples que devolvian 200 OK si el proceso estaba arriba pero empezamos a sufrir fallos invisibles. El consumidor podia estar corriendo pero bloqueado por un problema en la base de datos. Podia estar asignado a una particion sin avanzar. O podia quedarse en silent lag sin que se dispararan alertas. Estos fallos no se detectaban hasta dias despues causando retrasos criticos en la ingestion de CVE.
Que necesitabamos Buscabamos probes que detectaran si el consumidor estaba atascado o sin progreso, que rastreasen el movimiento de offsets por particion, que comprobaran la conectividad con el topic y los brokers de Kafka, que verificaran la disponibilidad de Postgres y que gestionaran los rebalanceos sin conservar estado obsoleto.
Como lo resolvimos Utilizamos Go con el cliente Sarama y un seguimiento inteligente en memoria. La idea principal fue mantener dos estructuras: una que almacena el ultimo offset visto por particion y otra con los ultimos offsets comprometidos para detectar si el consumidor deja de avanzar. Con eso podemos comparar continuamente y detectar estancamientos.
Seguimiento de offsets Al procesar cada mensaje almacenamos el offset mas reciente por particion y actualizamos el registro de offsets comprometidos. El movimiento de offsets es una señal poderosa: si el offset no cambia durante un periodo razonable es indicio de que el consumidor esta atascado o que hay problemas con el almacenamiento que impiden el procesamiento.
Comprobacion inteligente de liveness El endpoint de liveness hace mas que devolver 200. Se conecta a Kafka, obtiene el ultimo offset de cada particion, lo compara con el ultimo offset visto por el consumidor y decide si no hay datos nuevos o si el offset no ha avanzado indicando un consumidor bloqueado. Si detecta estancamiento marca el servicio como no saludable para permitir acciones automatizadas.
Readiness real El endpoint de readiness verifica que al menos un broker de Kafka sea accesible, que el topic exista y que Postgres responda correctamente mediante una comprobacion de conectividad. Solo cuando todas estas condiciones se cumplen el servicio se considera listo para recibir trafico.
Manejo de rebalanceos Durante un rebalanceo las particiones se reasignan y es esencial limpiar el estado en memoria para evitar falsos positivos. Al perder la asignacion de una particion eliminamos sus entradas de seguimiento de offsets para que la salud refleje solo las particiones que realmente gestionamos.
Por que es inteligente Estas probes rastrean progreso no solo disponibilidad, son conscientes de las particiones, detectan fallos silenciosos, comprueban dependencias de Kafka y de base de datos y reaccionan a los rebalanceos. Con este enfoque detectamos problemas reales como consumidores atascados o conexiones a base de datos muertas antes de que causaran perdida de datos o retrasos.
Lecciones aprendidas No te apoyes en probes basicas para servicios stateful como consumidores de Kafka. El movimiento de offsets es una senal clave para la salud del consumidor. Observabilidad real significa entender el comportamiento y no solo el tiempo de actividad.
Q2BSTUDIO y como podemos ayudar En Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especialistas en software a medida e inteligencia artificial. Ofrecemos servicios de ciberseguridad, servicios cloud aws y azure, servicios de inteligencia de negocio y soluciones de ia para empresas. Desarrollamos agentes IA, integraciones con Power BI y arquitecturas seguras y escalables para proyectos que requieren alto nivel de observabilidad y tolerancia a fallos. Podemos ayudar a implementar probes inteligentes, pipelines de mensajes robustos y estrategias de monitorizacion para proteger la ingestión de datos critica.
Beneficios para tu negocio Adoptar probes inteligentes mejora la disponibilidad percibida y reduce incidentes en produccion. Para empresas que necesitan aplicaciones a medida y soluciones de inteligencia artificial implementar estas practicas junto con controles de ciberseguridad y despliegues en servicios cloud aws y azure garantiza continuidad operacional y mejor posicionamiento en proyectos de inteligencia de negocio.
Conclusión Este enfoque nos salvo de varios incidentes en produccion al identificar proactivamente cuando el consumidor no estaba realizando trabajo util. Tratamos a los consumidores como workers stateful con comprobaciones de salud que entienden que deben hacer y no solo si estan online. Si quieres que Q2BSTUDIO implemente una solucion similar para tus sistemas de mensajeria, pipelines o capacidades de inteligencia artificial estamos listos para colaborar.
Contacto Gracias por leer si te interesa hablar sobre Kafka sistemas distribuidos observabilidad aplicaciones a medida software a medida inteligencia artificial ciberseguridad servicios cloud aws y azure servicios inteligencia de negocio ia para empresas agentes IA o Power BI ponte en contacto con el equipo de Q2BSTUDIO para una consulta tecnica y comercial