Denys Poltorak
Oct 25, 2024

Thank you for the idea. That topis requires a dedicated research, while I am busy finishing the book on architectural patterns.

I believe that DAG can often be seen in Event-Driven Architecture - and its key components (at least Splitter and Aggregator) were described in Enterprise Integration Patterns.

Still, "should" is hard to define as you usually have the choice between choreography (pipelines defining the flow), orchestration (a single component encapsulating the request processing logic) and shared data (each service doing its part when the input becomes available) - with pipelines often reserved for the simplest cases. Please see if my articles on those topics are of any use for you https://medium.com/itnext/orchestration-368c642f34de

There is also an advice from Microsoft to use pipelines (choreography) for simple communication between bounded contexts (subdomains) while relying on orchestration for more coupled workflows inside them https://learn.microsoft.com/en-us/azure/architecture/patterns/choreography

Denys Poltorak
Denys Poltorak

Written by Denys Poltorak

yet another unemployed experienced embedded / low-level C++ technical lead from Ukraine

Responses (1)