poll partitions kafka interval example cluster auto_offset_reset apache-kafka kafka-consumer-api

apache-kafka - partitions - max poll interval ms



Eliminar mensaje después de consumirlo en KAFKA (2)

Estoy usando apache kafka para producir y consumir un archivo de 5GB de tamaño. Quiero saber si hay una forma en que el mensaje del tema se elimina automáticamente después de que se consume. ¿Tengo alguna forma de hacer un seguimiento de los mensajes consumidos? No quiero eliminarlo manualmente.


En Kafka, la responsabilidad de lo que se ha consumido es responsabilidad del consumidor y esta es también una de las principales razones por las que Kafka tiene una escalabilidad horizontal tan grande.

El uso de la API de consumidor de alto nivel lo hará automáticamente al confirmar las compensaciones consumidas en Zookeeper (o un tema especial de Kafka está utilizando una opción de configuración más reciente para realizar un seguimiento de los mensajes consumidos).

La API de consumidor simple lo hace lidiar con cómo y dónde realizar un seguimiento de los mensajes consumidos usted mismo.

La purga de mensajes en Kafka se realiza automáticamente especificando un tiempo de retención para un tema o definiendo una cuota de disco para él, por lo que para su caso de un archivo de 5 GB, este archivo se eliminará después de que haya transcurrido el período de retención que defina, independientemente de si se ha consumido o no


Según mi conocimiento, puede eliminar los datos consumidos de los registros al reducir el tiempo de almacenamiento. El tiempo predeterminado para el registro se establece en 168 horas y luego los Datos se eliminan automáticamente del Kafka-Topic que creó. Entonces, mi sugerencia es reducir el ir al server.properties que se encuentra en la carpeta de configuración y cambiar el 168 a un tiempo mínimo. por lo tanto, no hay datos después de la cantidad de tiempo específica que ha establecido para las horas log.retention.ho.Así que su problema se resolverá.

log.retention.hours = 168

Sigue codificando