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. p>
3 Réponses :
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>
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");
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
Le registre de schéma est-il requis avec n'importe quel avro de KAFKA configuré? p> blockQuote>
Les messages de Kafka sont juste des octets em>. 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. p>
En théorie, vous pouvez écrire un avreur brut vers KAFKA et gérer le fichier
.avsc code> vous-même - ceci est dans théorie em>. Dans pratique em> les gens utilisent simplement le registre de schéma. p>
ref: p>
- Oui, Virginia, vous avez vraiment besoin d'un registre de schéma Li>
- La plate-forme confluente prend désormais en charge les formats Protobuf, JSON et les formats personnalisés li>
- schémas, contrats et compatibilité li> ul>
Comment configurer avec un projet de démarrage de printemps-kafka. P> blockQuote>
Essayez ce tutoriel P>
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 :-)
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. p>
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. P>
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é. p>
confluent fournit sérialisateur de schéma d'avrème et désérialiseur a>. 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. p>
Sur le dessus, il peut bénéficier de l'évolution constante des contrats producteurs / consommateurs, voir Évolution du schéma et compatibilité . P>
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 . P>