Kafka MessageLogger

Antes de decidir utilizar un registrador específico, vale la pena considerar dónde encaja el registro de mensajes y otros datos en su estrategia general. Por ejemplo, si está utilizando ODS, usted debe usar el MessageLogger implementaciones proporcionadas por IPF Processing Data, específicamente vea Processing Data Egress.

Message-logger-impl proporciona un Kafka implementación de MessageLogger, y su implementación específica de logMessage está utilizando un SendConnector para enviar el messageLogEntry a un Kafka tema:

Esto utiliza el IPF core MessageLogEntry.

La configuración predeterminada para esto registra mensajes en un tema llamado MESSAGE_LOG, pero esto puede ser cambiado a través de la ipf.conf, valores predeterminados que se muestran a continuación:

message.logger {
  send-connector {}
  kafka {
    producer {
      topic = MESSAGE_LOG
      restart-settings = {
        min-backoff = 1s
        max-backoff = 5s
        random-factor = 0.25
        max-restarts = 5
        max-restarts-within = 10m
      }
      kafka-clients {
        client.id = message-logger
      }
    }
  }
}

Dependencias

Se proporciona un arrancador que se conectará tanto Kafka y registradores de Mongo

<dependency>
    <groupId>com.iconsolutions.ipf.core.messagelogger</groupId>
    <artifactId>message-logger-starter</artifactId>
</dependency>

Alternativamente, puede introducir el específico Kafka dependencia solamente:

<dependency>
    <groupId>com.iconsolutions.ipf.core.messagelogger</groupId>
    <artifactId>message-logger-kafka</artifactId>
</dependency>

Configuración

Para configurar el MessageLogger la implementación que desea utilizar, deberá establecer lo siguiente en su aplicación archivo de configuración:

message.logger.type=kafka
message.logger.enabled=true

Propagación de Excepciones

El comportamiento cuando ocurren excepciones al intentar enviar a Kafka es configurable a través de la siguiente propiedad:

message-logger.send-connector.message-logging-behaviour
  • BACKPRESSURED_IGNORE_FAILURES - excepciones registradas, presión de retroceso respetada (predeterminado)

  • BACKPRESSURED - propaga excepción

  • FIRE_AND_FORGET - se ignoran las excepciones