Avro Schema Evolution

Backward, forward, full — and which one your consumers actually need.

0/3 done

Which mode for which topic?

Compatibility modes

  • Backwardnew readers can read old data. Safe additions: optional fields with defaults, removed fields with defaults on the consumer.
  • Forwardold readers can read new data. Safe additions: optional fields.
  • Full — both. The strict mode for shared topics with many independent consumers.

Default to BACKWARD if a single team owns the consumers; pick FULL for platform topics consumed by other teams.

Evolve OrderPlaced — add a required field, the wrong way

Try to add a required field customer_tier (no default). Schema Registry should reject this under BACKWARD. The fix: give it a default.

Reflect

Pick the most-shared topic in your stack.

  • Which compatibility mode is set today? Should it be tighter?
  • Who owns the deprecation timeline for a field you'd love to remove?

Reading in progress · 0 of 3 activities done