Explores the architectural design of message processing in Emmett, a TypeScript event sourcing framework. Introduces the separation between Consumers (responsible for fetching messages from sources like PostgreSQL, EventStoreDB, or Kafka) and Processors (handling business logic like projections and reactions). Covers key

17m read timeFrom architecture-weekly.com
Post cover image
Table of contents
Why Split Consumers and Processors?How Consumers WorkWhy Batching Belongs to ConsumersHow Processors WorkNative implementations of processorsResilienceCheckpointing processingBackpressure: When Processors Can’t Keep UpScaling: Current State and Future PlansRebuilding ProjectionsWrapping Up

Sort: