es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo conectar el clúster y el tema de Redpanda con el Registro de Esquemas de Redpanda?

Estoy tratando de conectar un clúster de redpanda kafka en funcionamiento a un registro de esquemas de redpanda, para que el registro de esquemas verifique los mensajes entrantes en el tema y/o los mensajes que se leen del tema.

Puedo agregar un esquema al registro y leerlo nuevamente con solicitudes curl, así como agregar mensajes al tema kafka que creé en el clúster de redpanda.

Mi pregunta es, ¿cómo implementar el registro de esquemas con un tema en un clúster kafka? ¿Cómo instruyo al registro de esquemas y/o al tema kafka para que validen los mensajes entrantes con el esquema que agregué al registro?

¡Gracias por tu ayuda o una orientación en la dirección correcta!

Información relevante:

Creación del clúster y el tema:
https://vectorized.io/docs/guide-rpk-container

rpk container start -n 3
rpk topic create -p 6 -r 3 new-topic --brokers <broker1_address>,<broker2_address>...

Creación del registro de esquemas:
https://vectorized.io/blog/schema_registry/

Comando para agregar un esquema:

curl -s \
  -X POST \
  "http://localhost:8081/subjects/sensor-value/versions" \
  -H "Content-Type: application/vnd.schemaregistry.v1+json" \
  -d '{ "schema": "{\"type\":\"record\",\"name\":\"sensor_sample\",\"fields\":[{\"name\":\"timestamp\",\"type\":\"long\",\"logicalType\":\"timestamp-millis\"},{\"name\":\"identifier\",\"type\":\"string\",\"logicalType\":\"uuid\"},{\"name\":\"value\",\"type\":\"long\"}]}" }' \
  | jq
Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para habilitar la validación del esquema para mensajes en un clúster Kafka conectado a un Registro de Esquemas Redpanda, es necesario configurar las aplicaciones productoras y consumidoras de Kafka para que utilicen el Registro de Esquemas Redpanda.

    Esto se logra configurando las clases de serializador y deserializador adecuadas en las configuraciones de productor y consumidor. Las clases org.apache.kafka.common.serialization.serializer y org.apache.kafka.common.serialization.Deserializer se pueden utilizar con este propósito.

    Una vez que hayas configurado la configuración, puedes instruir a tu productor de Kafka para que utilice el esquema que registraste en el Registro de Esquemas Redpanda. La URL del registro de esquemas se puede especificar como un parámetro para la clase de serializador.

    De manera similar, en tu aplicación consumidora, puedes configurar el deserializador para que utilice el registro de esquemas. Al consumir mensajes de un tema de Kafka, el deserializador validará cada mensaje entrante con el esquema que registraste en el registro de esquemas.

    Con esta configuración, cualquier mensaje entrante que no cumpla con el esquema registrado será rechazado por el registro de esquemas, evitando que la aplicación procese mensajes inválidos.

    En resumen, el proceso de habilitar la validación de esquemas implica configurar las aplicaciones productoras y consumidoras de Kafka para que utilicen el Registro de Esquemas Redpanda, y registrar los esquemas relevantes en el registro de esquemas para su validación.

Comments are closed.