Red de conocimiento informático - Problemas con los teléfonos móviles - Análisis de la estrategia de eliminación del archivo de mensajes rocketmq (commitlog)

Análisis de la estrategia de eliminación del archivo de mensajes rocketmq (commitlog)

1. El servidor de prueba ocasionalmente muestra una advertencia sobre espacio insuficiente en el disco. Tras la inspección, descubrí que esto se debía a mensajes apilados de rocketmq.

Entonces, estudiamos la estrategia de eliminar archivos de mensajes de rocketmq para evitar la acumulación nuevamente.

2. Construya el escenario y pruebe el código fuente.

Referencia/p/3cdd58a4bba5

3. Descubrimiento

Para archivos caducados

1) Al establecer el tiempo para eliminar archivos caducados, Eliminará archivos dentro de esta hora, 10 archivos a la vez.

Parámetros de configuración relevantes:

2) Elimine archivos caducados configurando el espacio de almacenamiento en disco para que alcance un umbral.

Parámetros de configuración relevantes:

Para archivos no caducados

1) El espacio de almacenamiento en disco alcanza el umbral de limpieza forzada (establecido por el comando de inicio)

2) El espacio de almacenamiento en disco llega a la línea de advertencia (establecida por el comando de inicio)

3. Conclusión

Para archivos caducados, no habrá problema de acumulación. Esto suele deberse a un alto tráfico durante un corto período de tiempo.

Para evitar la acumulación de información a corto plazo debido a aumentos repentinos de tráfico en un entorno de producción, recomendamos el siguiente enfoque.

Se recomienda que el sistema empresarial refuerce la capacidad de consumo para evitar la acumulación de mensajes. Si los archivos de mensajes no están ocupados, se pueden eliminar de forma más segura.

fileReservedTime se establece en un tiempo razonable para mantener el espacio disponible en el disco a un nivel que evite breves ráfagas de tráfico.

Cuando se produzca una acumulación, primero elimine otros registros inútiles en el mismo espacio en disco.

Busque temas con un gran volumen de mensajes, expanda dinámicamente el intermediario y actualice el intermediario para estos temas.