Componente de transporte del emisor Kafka

Para enviar mensajes a un tema de Kafka, puede configurar el modo de remitente del componente de transporte Kafka que está disponible en el marco de definición de servicios de Sterling™ Order Management System y al que se puede acceder desde el modelado de procesos en el Administrador de aplicaciones.

Nota: Para publicar mensajes en formato JSON utilizando un remitente Kafka, configure la propiedad yfs xmljson.usejson.out.forflows con la lista de servicios que requieren salida JSON. Cuando se incluye un remitente Kafka en el flujo de servicios, los mensajes enviados al tema Kafka están en formato JSON.
Figura 1. Pantalla de definición del servicio con el tipo de transporte Kafka
Pantalla de definición del servicio con el tipo de transporte Kafka

Puede utilizar el componente de transporte Kafka sender en servicios síncronos y asíncronos para enviar mensajes desde Sterling Order Management System a Kafka.

Figura 2. Pantalla de detalles del remitente Kafka
Puede utilizar el componente de transporte Kafka sender en servicios síncronos y asíncronos para enviar mensajes desde Sterling Order Management System a Kafka.
En el componente de transporte del remitente Kafka, están disponibles los siguientes campos en la pestaña General:
Campos Descripción
Tema Campo obligatorio que especifica dónde se envían los mensajes Kafka.
Config Grupo Id Campo opcional que enumera el identificador que utiliza el conjunto de propiedades de paso para las definiciones de configuración Kafka. Si no especifica ningún valor, se utiliza el ID de grupo de configuración global. Si no se especifica el ID de grupo de configuración global, Kafka utiliza el valor predeterminado para cada configuración.
ID de partición Campo opcional. Define el ID de la clave de partición. Si no especifica el ID, el Kafka Producer determina el ID de la partición.
Clave de partición Campo opcional. Puede especificar una cadena estática o una expresión XPath válida que resuelva a un valor dentro del mensaje, como un ID de cliente. Puede utilizarse como clave de partición. Si el XPath no se resuelve en un valor válido, el productor de Kafka asigna una clave de partición nula, y se aplica la lógica de partición pegajosa por defecto de Kafka.

Para solucionar problemas de particionamiento incorrecto, puede habilitar los registros de depuración de Kafka para verificar la resolución XPath y actualizarla si no extrae la clave de partición correcta.

Esperar al envío Por defecto, esta casilla está seleccionada, y Kafka envía los mensajes de forma sincrónica hasta que los mensajes se escriben en el tema de destino. Si la casilla no está marcada, Kafka envía los mensajes de forma asíncrona.
La confirmación de este mensaje depende de la transacción padre Seleccione la casilla La confirmación de este mensaje depende de la transacción principal para utilizar Kafka remitente transaccional. Por defecto, esta casilla no está seleccionada, lo que indica que la confirmación de mensaje enviada a Kafka no forma parte de la transacción padre.

Utilice la pestaña de configuraciones deKafka para anular las propiedades de configuración de paso a nivel de servicio específico.

Figura 3. Configuraciones de Kafka para Kafka Producer
Utilice la pestaña de configuraciones de Kafka para anular las propiedades de configuración de paso a nivel de servicio específico.

Kafka también admite las cabeceras Kafka. El componente de transporte Kafka permite establecer cabeceras Kafka a nivel de servicio en la pestaña CabecerasKafka. Las cabeceras específicas del flujo o servicio pueden especificarse como pares clave-valor. Cuando se envía el mensaje, los pares clave-valor se envían al productor de Kafka como parte del ProducerRecord. Sin embargo, durante la creación del mensaje, las cabeceras de Kafka no se pueden pasar dinámicamente. Kafka son específicas del servicio, por lo que debe especificar las cabeceras Kafka a nivel de servicio.

Figura 4. Cabeceras Kafka para Kafka Producer
Kafka también admite las cabeceras Kafka. El componente de transporte Kafka permite establecer cabeceras Kafka a nivel de servicio en la pestaña Cabeceras Kafka. Las cabeceras específicas del flujo o servicio pueden especificarse como pares clave-valor. Cuando se envía el mensaje, los pares clave-valor se envían al productor de Kafka como parte del ProducerRecord. Sin embargo, durante la creación del mensaje, las cabeceras de Kafka no se pueden pasar dinámicamente. Kafka son específicas del servicio, por lo que debe especificar las cabeceras Kafka a nivel de servicio.