Évolution des schémas et modes de compatibilité
Découvrez comment les schémas Avro évoluent au fil du temps et comment les modes de compatibilité de Schema Registry permettent aux producteurs et aux consommateurs d’évoluer indépendamment sans se rendre mutuellement incompatibles.
Évolution des schémas et modes de compatibilité est une leçon Advanced Spring Boot 4: Event-Driven Architecture (Kafka) gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Advanced Spring Boot 4: Event-Driven Architecture (Kafka), et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Advanced Spring Boot 4: Event-Driven Architecture (Kafka) comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Why Schemas Change
Real systems evolve: new fields are added, old ones deprecated. Schema evolution is the discipline of changing schemas without breaking existing producers or consumers.
The Compatibility Contract
Schema Registry enforces a compatibility mode on each subject. Before registering a new schema version, the registry checks it against existing versions and rejects breaking changes.
Backward Compatibility
BACKWARD (the default): new consumers can read data written by the previous schema.
- You may delete fields.
- You may add fields that have a default value.
Forward Compatibility
FORWARD: old consumers can read data written by the new schema.
- You may add fields.
- You may delete fields that have a default value.
Full Compatibility
FULL combines both: a change must be backward and forward compatible. The safest but most restrictive mode — only fields with defaults may be added or removed.
Adding a Field Safely
To add a field while keeping backward compatibility, give it a default so old data deserializes cleanly.
{
"name": "discount",
"type": "double",
"default": 0.0
}Setting Compatibility per Subject
You can configure compatibility globally or override it per subject via the registry REST API.
PUT /config/orders-value
{ "compatibility": "FULL" }Breaking Changes to Avoid
These changes break compatibility:
- Adding a required field without a default.
- Renaming a field (it is treated as delete plus add).
- Changing a field's type incompatibly.
Transitive Modes
Modes like BACKWARD_TRANSITIVE check the new schema against all prior versions, not just the latest — important when consumers may lag many versions behind.
Rollout Strategy
With BACKWARD compatibility, upgrade consumers first, then producers. With FORWARD, upgrade producers first. Knowing the mode dictates deployment order.
Putting It Together
Schema evolution lets independent teams move at their own pace. Choose a compatibility mode, always add new fields with defaults, and follow the matching deployment order.
Quick Check
Test your understanding of compatibility modes.
Recap
You learned schema evolution and compatibility.
- BACKWARD, FORWARD, and FULL define what changes are allowed.
- Add new fields with a
defaultto stay compatible. - Transitive modes check against all prior versions.
- Compatibility mode dictates producer/consumer upgrade order.
Apprends Advanced Spring Boot 4: Event-Driven Architecture (Kafka) avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 12
- Leçons
- 48
Questions Fréquemment Posées
La leçon « Évolution des schémas et modes de compatibilité » est-elle gratuite ?
Oui — le texte complet de « Évolution des schémas et modes de compatibilité » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Advanced Spring Boot 4: Event-Driven Architecture (Kafka), passe à CoddyKit PRO. Le cours Advanced Spring Boot 4: Event-Driven Architecture (Kafka) comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Évolution des schémas et modes de compatibilité » ?
Découvrez comment les schémas Avro évoluent au fil du temps et comment les modes de compatibilité de Schema Registry permettent aux producteurs et aux consommateurs d’évoluer indépendamment sans se r… Tu pratiques Advanced Spring Boot 4: Event-Driven Architecture (Kafka) avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Advanced Spring Boot 4: Event-Driven Architecture (Kafka) ?
Aucune expérience préalable n'est requise. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Évolution des schémas et modes de compatibilité » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Advanced Spring Boot 4: Event-Driven Architecture (Kafka) ?
Oui. Chaque leçon Advanced Spring Boot 4: Event-Driven Architecture (Kafka) inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Importance de la gestion des schémas
- Avro pour définir les schémas
- Intégration de Spring Boot et du registre de schémas
- Évolution des schémas et modes de compatibilité