The Event Streaming Pattern
We have already discussed what an Event Stream is and its usage in Chapter 7, Working with Reactive Systems. Please refer to that chapter for more details.
Like a Messaging Queue, which is useful to store Messages, an Event Stream is useful to store a Set of Events. In other words, we can say that an Event Stream is a sequence of events.
As we know, in a Reactive System, each User Action is represented as an Event. These events are stored in a data store, as shown here:

Let's look at the Cassandra Data store for a better understanding. We also used the same data store to store our WF (Weather Forecasting) Reactive System events.
In Cassandra, we store our System's sequence of Events into an Event Stream. It is known as a Journal. We use Akka Persistence and Lagom Framework's Persistence API to store or retrieve our System's events to/from the Journal.
We store each event into the Journal with a unique Persistence ID. This ID is useful to identify events uniquely for...