Solution
Segregate upstream producer (that is, command) components from downstream consumer (that is, query) components by eliminating all synchronous inter-component communication. Originate data in upstream components, which typically apply the Database-First variant of the Event Sourcing pattern to atomically deliver events to the stream. This enables an upstream component to easily query its own table for the current state.
Downstream components consume the events and maintain their own materialized views that are optimized for each component's specific needs. Each component employs polyglot persistence and chooses the appropriate cloud-native database type for each view. A downstream component is then free to perform natural, synchronous ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access