Functional event-driven architecture

@volpegabriel87

@gvolpe

BOOK give away!

event-driven architecture

EVENT processing

  • SIMPLE EVENT PROCESSING: consume an event, do something (e.g. write to cache and perhaps publishing further events), done.
  • COMPLEX EVENT PROCESSING: consume events, look for patterns and aggregate them (e.g. over a time window), acknowledge them in batch, continue with the next series.
  • EVENT STREAMING PROCESSING: feed events directly to an external data streaming platform such as Kafka Streams, Apache Beam, etc.

SIMPLE EVENT processing

User events

SIMPLE EVENT processing

Message acknowledment

SIMPLE EVENT processing

Entry point

Complex EVENT processing

Finite State Machine

Complex EVENT processing

THIS IS THE WAY

Complex EVENT processing

Price events

Complex EVENT processing

Price History

Complex EVENT processing

Alerts

Complex EVENT processing

Entry Point

EVENT processing

  • SIMPLE EVENT PROCESSING: consume an event, do something (e.g. write to cache and perhaps publishing further events), done.
  • COMPLEX EVENT PROCESSING: consume events, look for patterns and aggregate them (e.g. over a time window), acknowledge them in batch, continue with the next series.

Outbox pattern

The Problem

Outbox pattern

The Solution

Pulsar subscriptions

Ephemeral SUBSCRIPTIONS

Web Sockets

@volpegabriel87

@gvolpe

Functional Event-Driven Architecture

By Gabriel Volpe

Functional Event-Driven Architecture

Functional Event-Driven Architecture

  • 257