Re-architecting Your Batch Processing with Domain-Driven Design
summary
How to re-architect batch processing using Domain-Driven Design: replace full scans with incremental, composable computations (using monoids) to approach constant-time updates; define a single domain model shared by batch and interactive paths and wrap it with adapters, repositories and decorators (different caching strategies for long-running batches vs interactive services). Implementations use Spring Batch, Guava or simple maps for caches, AWS/Azure adapters, and microbatching to emit events; outcomes include faster runs, finer restart granularity (e.g., by region/week) and better observability.
AI-written summary · about
chapters (11)
- 0:00Introduction
- 5:24Traditional batch problems
- 9:49Code duplication and business languages
- 12:40DDD for batch processing
- 17:37Adapters and decorators
- 22:57Slow batch incremental calculations
- 27:08Composability and monoids
- 31:05Chunks and business aggregates
- 34:56Real-time batch events
- 38:09Consistency and streaming
- 40:14Conclusion
related talks
42mHigh-Speed DDD (revisited)
59mDomain-Driven Design - Where Rubber Meets the Road
39mLessons Learned from 10+ Years with Domain Driven Design
02h 31mSlice & Dice your Monolith with Domain Driven Design
55mDomain-Driven Design: back to the roots
43mArchitecture antipatterns and how to beat them 1/2
47mDomain Driven Transformation—How to Bring Back Sustainable Architecture to
51mDomain - Driven Transformation
