An order service publishes events that reporting, fulfillment, and customer support all need to read. The first producer uses JSON because it is easy to inspect. As more applications join, the team starts asking harder questions: How do consumers know which fields are required? Can every language represent the amounts correctly? Would a binary format reduce storage and network traffic?
JSON, Avro, and Protobuf can all carry the same business event through Kafka. They differ in how they represent data, how readers interpret it, and what tooling teams must maintain.
In this chapter, we’ll represent one order event in each format, then compare the practical consequences for validation, operations, and format selection.