Event Sourcing · Software Architecture

Kafka vs Event Store on scaling processing in a messaging architecture

This post is a condensed excerpt that I use for a tech talk about scaling distributed systems. Kafka is a message broker and Event Store is a database for stream of events. The roles of these tools has been extended and not always with good results. One can be a good simple ingestion tool while… Continue reading Kafka vs Event Store on scaling processing in a messaging architecture

CQRS · Domain Driven Design · Event Sourcing · Software Architecture

Distributed Architecture: 3 Steps

Here is my view implementing business requirements with DDD, Event Sourcing and CQRS. Ingestion Processing CQRS and Data Distribution Applying the same 3 steps for each new requirements let improves time after time the mechanics of each small bubble while it is living in the aquarium of an Event Driven ecosystem along with bigger legacy… Continue reading Distributed Architecture: 3 Steps

CQRS · Domain Driven Design · Software Architecture

Distributed Architecture 03: CQRS and Data Distribution

In our journey we started with a business requirement, we model the requirement with commands, events, we ingest input data, we process the data, we implemented processing components using Event Sourcing pattern and we stored our Domain Events in small streams. All this represent the way to define and feed our write model. The benefit… Continue reading Distributed Architecture 03: CQRS and Data Distribution

Domain Driven Design · Event Sourcing · Software Architecture

Distributed Architecture 02: The Processing

In the ingestion phase data went through the front door to enter our domain. In the domain area we want to process the data in case they mean something for our components, ignore them if not relevant or raise exception if the data are relevant but something is not right. In the previous phase, the… Continue reading Distributed Architecture 02: The Processing

Domain Driven Design · Event Sourcing · Software Architecture

Distributed Architecture 01: The Ingestion

neurons are cells that are specialised to pass signals to individual target cells, and synapses are the means by which they do so Introduction Clients need results… synchronously Scale the ingestion channel Using Single or Multiple Input Streams Discover unstructured data Introduction A Distributed Software Architecture is formed by several parts that communicate with each… Continue reading Distributed Architecture 01: The Ingestion