Akka Persistence Query
In this section, we will develop a WF (Weather Forecasting) Reactive system using the following technology stack:
- Akka Persistence API
- Akka Persistence Query API
- Scala
- Apache Cassandra
As we discussed in Chapter 7, Working with Reactive Streams, Akka Persistence supports the CQRS/ES (Command and Query Responsibility Segregation with Event Sourcing) Design pattern.
CQRS/ES is a Reactive Statement Management and Persistence pattern.
The Akka Persistence API is used to write data into a data store, whereas the Akka Persistence Query API is used to read data from a data store. Here we can use any RDBMS or No SQL database as a data store. We will use Apache Cassandra as our WF Reactive System data store for both the WRITE and READ sides.
Building blocks of Akka Persistence App
When we develop a data store application using Akka Persistence, we need to consider the following three main building blocks of the Akka Persistence API:
- Command
- Event
- State
The following diagrams show the main...