Chapter 2. Fundamentals of Events and Event Streams
Event streams served by an event broker tend to be the dominant mode for powerful event-driven architectures, though you’ll find that queues and ephemeral messaging also have a place. The second half of this chapter will cover each of these modes in more detail.
For now, let’s now take a closer look at events, records, and messages, as well as the relationship between an event stream and an event broker.
What’s an Event?
An event can be anything that has happened within the scope of the business communication structure. Receiving an invoice, booking a meeting room, requesting a cup of coffee (yes, you can hook up a coffee machine to an event stream), hiring a new employee, and successfully completing arbitrary code are all examples of events that happen within a business. It is important to recognize that events can be anything that is important to the business. Once these events start being captured, event-driven systems can be created to harness and use them across the organization.
An event is a recording of what happened, much like how an application’s information and error logs record what takes place in the application. Unlike these logs, however, events are also the single source of truth, as covered in Chapter 1. As such, they must contain all the information required to accurately describe what happened.
Events are immutable. You can’t modify an event once it is published to the event stream. Immutability is an essential ...
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