Schema Registry sits next to Kafka and decides which schemas are allowed. The technology is solved; the policy is where teams struggle — compatibility rules, who can change schemas, how migrations work. Getting policy right is the difference between confidence and chaos.

Advertisement

Format choice

Avro: most popular in Kafka world, compact binary, evolution-friendly. Protobuf: cross-language ecosystem, fast, but evolution rules trickier. JSON Schema: human-readable, easy to debug, less efficient. Pick one per organization; mixing is operational pain.

Compatibility levels

Backward: new consumers can read old messages. Forward: old consumers can read new messages. Full: both. Backward is the safe default for most workloads. Set per-subject; enforce in CI before commits.

Advertisement

Evolution rules

Avro: add optional fields with defaults (safe), don't rename, don't change types. Protobuf: never reuse field numbers, mark removed fields as reserved. Document the rules in your team's contributing guide; new joiners will need them.

Multi-registry across orgs

Different teams may run their own registries. Cross-org schemas need a shared canonical schema or careful versioning. Tools (Confluent Schema Registry cluster linking) help but the org problem is harder than the technology problem.

Where it breaks

Producers forgetting to register schemas (use auto-registration in dev, disable in prod). Consumers ignoring schema and parsing manually (defeats the point). Schemas that drift from documentation (the schema IS the documentation if you let it).

Pick one format per org. Backward-compat default. Enforce in CI. The schema is the documentation.