Almacenamiento de registros de Kafka, reglas de limpieza, estimación del tamaño de los mensajes
Los mensajes de Kafka se almacenan en el clúster de Kafka (en las particiones, cada partición corresponde a un directorio. El nombre del directorio es {partitionId} y los mensajes recibidos por Kafka se almacenan en este directorio, incluidos los archivos de registro). Archivos de índice y archivos de índice de índice de tiempo (versiones posteriores a 0.10.1)
Utilice la herramienta kafka-run-class para llamar a kafka.tools.DumpLogSegments para ver los mensajes de Kafka descartados de la siguiente manera:
De la siguiente manera:
La lógica de limpieza del registro de mensajes de Kafka es iniciar un hilo para escanear el archivo de registro periódicamente y eliminar los archivos de registro de mensajes que cumplen con las reglas de limpieza
El principal. parámetros de limpieza de registros <. /p>
Como se puede ver en la figura anterior, la política de limpieza predeterminada de Kafka se basa en la marca de tiempo de modificación del archivo. De forma predeterminada, retendrá 7 días de volumen de registro de mensajes. el tamaño total de los registros de mensajes no tendrá efecto.
En el caso de que la capacidad total del disco sea insuficiente y el volumen de mensajes fluctúe mucho, esta no es la mejor estrategia de limpieza de registros (puede sobrecargar el disco). ), en cuyo caso puede considerar utilizar una estrategia de limpieza basada en el tamaño total del registro de mensajes. Entonces, ¿cómo estimar la huella de disco de los mensajes Kafka?
Envío de mensajes (sin comprimir):
Si el mensaje está en formato comprimido, diferentes algoritmos de compresión y diferentes formatos de mensaje pueden marcar una gran diferencia, por lo que necesitarás hacer una estimación basada en tu situación real.
PD: En el caso de copias múltiples, deberá multiplicar esta estimación por la cantidad de réplicas
PD: en el caso de múltiples réplicas, deberá multiplicar esta estimación por la cantidad de réplicas
.