We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Event Driven Workflows - Andrew Wormald, Luno
Learn how event-driven workflows can break down complex business logic using DAGs, with features like parallel processing, scheduling, and visualization. Based on Luno's production use.
-
Event-driven workflows help break down complex business logic into sequential steps while maintaining deterministic behavior and process visualization
-
The solution uses a directed acyclic graph (DAG) approach, meaning workflows can only move forward and cannot revisit previous nodes
-
Built with interfaces for data storage and event streaming, allowing flexibility to use different technologies (Kafka, RabbitMQ, Reflex) through adapters
-
Provides built-in support for:
- Timeouts and scheduling (cron)
- Parallel processing
- Role-based sharding
- Process visualization (Mermaid diagrams)
- Test helpers and acceptance testing
-
Uses the outbox pattern for handling events, providing strong consistency but with some latency tradeoff
-
Focuses on idempotency - consumers should be idempotent to handle duplicate events safely
-
Supports GDPR compliance through data deletion capabilities while maintaining workflow history
-
Designed to work with existing infrastructure rather than requiring new systems/services
-
Currently in production use at Luno for critical paths like customer onboarding and payment processing
-
Core design goals:
- Sequential processing
- Distributed architecture
- Loose coupling
- Scalability
- Process visualization
- Complex business logic handling