This sample e-commerce system has unique set of properties. It is:
All these capabilities are obviously supported by the underlying technology stack, which includes:
Akka - actor-based, reactive middleware implemented in Scala,
Akka Persistence - infrastructure for building durable (event sourced) actors, which has a pluggable journal,
Aggregate Root) class) or business process journals (events related to concrete business process). Domain journals are topic of interest for services such as:
❗️ Both view uppdaters and receptors are operating within non-blocking back-pressured event processing pipeline ❗️
The system currently consists of the following subsystems:
Each subsystem is divided into write and read side, each side containing back-end and front-end application:
Backend cluster node hosting
Process Managers (Sagas).
HTTP server forwarding commands to backend cluster.
View update service that consumes events from event store and updates view store (PostgreSQL database).
HTTP server providing rest endpoint for accessing view store.