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
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 UpSort: