Naive request-based solutions result in chatty calls as each service engages with multiple other services to fulfil a request, or in large message payloads as services add all the data required to process a message to each message. Neither scale well.
In 2005, Pat Helland wrote a paper ‘Data on the Inside vs. Data on the Outside’ which answers the question by distinguishing between data a service owns and reference data that it can use. Martin Fowler named the resulting architectural style; Event Driven Collaboration. This style is significant because it shifts the pattern from request to receiver-driven flow control.
YOU MAY ALSO LIKE:
- Event Driven Collaboration (SkillsCast recorded in May 2019)
- Sociotechnical Domain-Driven Design with Kacper Gunia (Online Course on 20th - 21st May 2021)
- Invitation to Systems Thinking with Jessica Kerr and Kent Beck (Online Course on 21st - 25th June 2021)
- DDDx — Domain-Driven Design eXchange 2021 (Online Conference on 8th - 9th June 2021)
- Software Architecture Gathering Digital 2021 (Online Conference on 13th - 14th October 2021)
- LDN *Virtual* Talks May 2021 (Online Meetup on 27th May 2021)
- Wasmcloud, a next-gen platform in Rust and WASM (SkillsCast recorded in April 2021)
- Monitoring Temperature (with Too Many Bluetooth Thermometers) (SkillsCast recorded in April 2021)