Chapter 4. Schemas and Data Contracts
Note
An earlier version of this chapter previously appeared in Building an Event-Driven Data Mesh (O’Reilly, 2023).
Schemas are essential for getting an event-driven architecture off the ground. A schema is an explicit declaration of the data structures, names, types, defaults, and limitations. They facilitate a common understanding of the data for both producers and consumers alike. Schemas eliminate ambiguity, support both discovery and self-service, and significantly reduce parsing and interpretation errors.
Data contracts, which are covered in more detail in the second half of this chapter, rely on schemas as a fundamental component. They also incorporate further aspects, such as ownership, service-level agreements, encryption, data evolution rules, and more.
Tip
Use schemas! While technically optional, they’re effectively essential for making event-driven architectures that actually work.
This chapter is a prescriptive and opinionated look at schemas and data contracts in an event-driven architecture, and gives instructions on how to set yourself up for success. There are many different schema technologies and many different ways to communicate data between systems through events. However, some methods and technologies are better than others—they’re more common, they’re more flexible, and they also reflect the ways most businesses use and communicate events.
Before we get too far into it, let’s step back and take a look at how a producer ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access