Buenas José Antonio.
Kafka mantiene los mensajes en el topic y los elimina cuando se cumple el tiempo de retención (configurable desde los brókeres).
Si quieres no volver a leer mensajes repetidos, lo mejor es que todos los consumidores sean del mismo grupo, de este modo, cuando se lea un mensaje del topic, el puntero del grupo se mueve y ningún otro consumidor del mismo grupo los leerá repetidos.
Por otro lado, en Kafka, la responsabilidad de saber qué mensajes se han leído recae en el consumidor, por lo que puedes descartar los mensajes dado alguna condición desde los consumidores por streaming de datos (por ejemplo, cuya caducidad sea de 30 segundos).