An order producer writes Avro events to Kafka. A new reporting application starts reading them and receives the bytes successfully, but it cannot decode them. It needs the schema that the producer used, and the schema file the application includes may not match every historical record.
Sending schema files between teams can work for a small system. It becomes harder when producers evolve, several versions remain in Kafka, and new consumers need to replay old data.
A schema registry gives applications a shared way to register, identify, and retrieve schemas. In this chapter, we’ll follow an order event through that process and explain what the registry manages, how clients use it, and which responsibilities remain with the application.