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.
Polyglot Coding Architect in London, founder of #ldnug, speaker, tabletop gamer, geek. Tattooed, pierced, and bearded. The 'guv' on @BrighterCommand
Dylan Beattie is a systems architect, developer, and Microsoft MVP, who has built everything from tiny standalone websites to large-scale distributed systems. He created his first web page in 1992, and he's been building data-driven interactive web applications since the days of Windows NT 4. He's currently the CTO at Skills Matter in London, where he juggles his time between working on their software platform and supporting their conference and community teams. From 2003 to 2018, Dylan worked as webmaster, then IT Manager, and then systems architect at Spotlight (www.spotlight.com), where his first-hand experience of watching an organisation and its codebase evolve over more than a decade provided him with a unique insight into how everything from web standards and API design to Conway's Law and recruitment ends up influencing a company’s code and culture.