Advanced Spring Boot 4: Event-Driven Architecture (Kafka) · Pelajaran

Evolusi Skema dan Mode Kompatibilitas

Pelajari cara skema Avro berevolusi dari waktu ke waktu dan cara mode kompatibilitas Schema Registry memungkinkan produsen serta konsumen berubah secara mandiri tanpa saling merusak.

Pelajaran 4 dari 413 langkah

Evolusi Skema dan Mode Kompatibilitas adalah pelajaran Advanced Spring Boot 4: Event-Driven Architecture (Kafka) gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Advanced Spring Boot 4: Event-Driven Architecture (Kafka), dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Advanced Spring Boot 4: Event-Driven Architecture (Kafka) mencakup 4 pelajaran total.

Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.

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 default to stay compatible.
  • Transitive modes check against all prior versions.
  • Compatibility mode dictates producer/consumer upgrade order.
Gratis untuk memulai

Belajar Advanced Spring Boot 4: Event-Driven Architecture (Kafka) dengan tutor AI — gratis

Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.

Kursus
12
Pelajaran
48

Pertanyaan yang Sering Diajukan

Apakah pelajaran “Evolusi Skema dan Mode Kompatibilitas” gratis?

Ya — teks lengkap “Evolusi Skema dan Mode Kompatibilitas” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Advanced Spring Boot 4: Event-Driven Architecture (Kafka), upgrade ke CoddyKit PRO. Kursus Advanced Spring Boot 4: Event-Driven Architecture (Kafka) mencakup 4 pelajaran total.

Apa yang akan aku pelajari di “Evolusi Skema dan Mode Kompatibilitas”?

Pelajari cara skema Avro berevolusi dari waktu ke waktu dan cara mode kompatibilitas Schema Registry memungkinkan produsen serta konsumen berubah secara mandiri tanpa saling merusak. Kamu berlatih Advanced Spring Boot 4: Event-Driven Architecture (Kafka) dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.

Apakah aku perlu pengalaman untuk memulai Advanced Spring Boot 4: Event-Driven Architecture (Kafka)?

Tidak diperlukan pengalaman sebelumnya. Advanced Spring Boot 4: Event-Driven Architecture (Kafka) di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.

Berapa lama pelajaran “Evolusi Skema dan Mode Kompatibilitas” memakan waktu?

Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.

Bisakah aku menulis dan menjalankan kode dalam pelajaran Advanced Spring Boot 4: Event-Driven Architecture (Kafka) ini?

Ya. Setiap pelajaran Advanced Spring Boot 4: Event-Driven Architecture (Kafka) menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.

Semua pelajaran dalam kursus ini

  1. Pentingnya Manajemen Skema
  2. Avro untuk Definisi Skema
  3. Integrasi Spring Boot dan Schema Registry
  4. Evolusi Skema dan Mode Kompatibilitas
← Kembali ke Advanced Spring Boot 4: Event-Driven Architecture (Kafka)