Suscríbete a decenas de tópicos de Kafka con un único patrón regex.
Día 09 de la serie técnica WKafka Open Source.
En IoT y arquitecturas multi-inquilino, los tópicos surgen dinámicamente. Ponerlos a mano en código es un antipatrón. Usa suscripción regex con WKafka.
Los Problemas Reales
- Redesplegar consumidores cada vez que se crea un nuevo tópico de dispositivo
- Duplicar código de consumo idéntico para decenas de tópicos similares
- Sincronizar listas manuales de tópicos generando desajustes de configuración
La Implementación
@kafka.consumer(topic_pattern=r"sensor_.*", format="json")
def on_telemetry(msg):
# Handles events from sensor_temp, sensor_humidity, sensor_pressure...
print(f"[{msg.topic}] Reading: {msg.value}")
Por qué esta arquitectura gana
- Descubrimiento Regex: topic_pattern='sensor_.*' se suscribe automáticamente.
- Rebalanceo Dinámico: Detecta nuevos tópicos creados en el broker sin reiniciar.
- Manejador Único: Centraliza la lógica de telemetría de cientos de streams.
Verificación y Estado
Probado y verificado contra clusters reales de Apache Kafka (ver EXAMPLES_STATUS.md en el repositorio). Compatible con Python 3.9 a 3.14 con tipado estricto mypy.
Top comments (1)
En sistemas distribuidos reactivos con Kafka, la frontera entre control de flujo y resiliencia ante caídas es sutil. El uso de patrones declarativos con commits atómicos permite que la lógica de reintento no degrade el rebalanceo de particiones.
¿Prefieren delegar el manejo de backpressure y offset commits a middleware declarativo o gestionarlo manualmente por handler?