0
votes

Est-ce que le registre de schéma est requis avec n'importe quel avro de KAFKA?

Très nouveau à Kafka et devenir très confondu avec plusieurs tutoriels. Est-ce que le registre de schéma est requis avec n'importe quel avro de KAFKA? Comment configurer un projet de démarrage de printemps-kafka.


0 commentaires

3 Réponses :


1
votes

Dans les documents de printemps, vous pouvez trouver un exemple simple pour voir et comprendre les exigences de base pour configurer le projet Spring-Kafka. Du référentiel Maven au producteur de base et aux configurations de consommateurs. Voici le lien: un très, très Exemple rapide

En plus de l'exemple ci-dessus, pour configurer vos API de KAFKA pour le registre de schéma, vous devez avoir ci-dessous des configurations p>

pour le producteur: strong> p >

Properties props = new Properties();
props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, "localhost:9092");
props.put(ConsumerConfig.GROUP_ID_CONFIG, groupName);
props.put(ConsumerConfig.KEY_DESERIALIZER_CLASS_CONFIG, StringDeserializer.class.getName());
props.put(ConsumerConfig.VALUE_DESERIALIZER_CLASS_CONFIG, KafkaAvroDeserializer.class.getName());
props.put(KafkaAvroDeserializerConfig.SPECIFIC_AVRO_READER_CONFIG, false);
props.put(AbstractKafkaAvroSerDeConfig.SCHEMA_REGISTRY_URL_CONFIG, "http://localhost:8081");


4 commentaires

Est-il obligatoire d'avoir un registre de schéma pour Kafka?


Non, ce n'est pas le cas, vous pouvez utiliser Kafka Plain. Le registre de schéma vous permet d'envoyer vos données complexes dans un format lisible humain bien rangé. Pour utiliser Kafka Plain, suivez les configurations dans le lien, vous n'avez pas besoin de configurations supplémentaires que j'ai mentionnées ci-dessus.


Merci. Puis-je demander une dernière chose quel est le format de rangement qu'il envoie dans


Bienvenue, vous pouvez voir un exemple de schéma ici dans ce lien. échantillon , si vous envoyez des données de classe d'employés sans SR, ce serait messy je pense



1
votes

Le registre de schéma est-il requis avec n'importe quel avro de KAFKA configuré?

Les messages de Kafka sont juste des octets . C'est à vous de décider comment vous les sérialisez. Si vous utilisez l'avroi (ou protobuf, ou le schéma JSON), vous pouvez utiliser le registre de schéma confluent qui inclut des sérialisateurs et des désérialiseurs pour ceux-ci et stocke le schéma pour vous pendant l'incorporation du message réel stocké sur Kafka un pointeur.

En théorie, vous pouvez écrire un avreur brut vers KAFKA et gérer le fichier .avsc vous-même - ceci est dans théorie . Dans pratique les gens utilisent simplement le registre de schéma.

ref:


2 commentaires

Merci. Très très utile


Génial. N'oubliez pas l'étiquette Stackoverflow pour marquer les réponses comme utiles ou correctes si elles sont :-)



1
votes

non, Le registre de schéma confluent n'est pas tenu de produire / Consommez Apache Avro enregistre dans la touche ou la valeur d'un enregistrement KAFKA.

Apache Avro est un format de conteneur de données autonome, où une charge utile est toujours accompagnée de son schéma. Ce faisant, il est toujours possible pour un lecteur d'interpréter la charge utile avec le schéma.

Le registre de schéma est un service supplémentaire de Confluent qui sert de registre central pour tous les schémas avrères utilisés dans un environnement de cluster Kafka donné.

confluent fournit sérialisateur de schéma d'avrème et désérialiseur . Serializer enregistre chaque schéma avec le registre et remplace la partie de schéma de l'enregistrement d'avroi avec un identifiant unique renvoyé par le registre. Le désérialiseur d'autre part peut interroger le schéma du registre en utilisant le même identifiant de schéma. Cela permet de stocker le stockage dans le cluster, car les schémas ne sont pas répétés avec chaque enregistrement. D'autre part, il augmente le trafic réseau et le couplage.

Sur le dessus, il peut bénéficier de l'évolution constante des contrats producteurs / consommateurs, voir Évolution du schéma et compatibilité .

Pour l'intégration du registre de schéma avec le printemps, je vous renvoie à la documentation de printemps Kafka et Registre de schéma de Spring Cloud .


0 commentaires