Patterns of asynchronous requests
Typically, there are three cases where an application issues requests in parallel to multiple,
external services, and requires a response.
- Response is required from all
- Response is required from any
- Response is required from a specific target
In these illustrations, the program parent, PROGP, issues three children: PROGC1, PROGC2, and PROGC3 to fetch data, and the PROGP waits for a response.
Waiting for responses from all children
In this illustration, the parent waits for responses from all the children. 
Waiting for responses from any children
In this illustration, the parent waits for responses from any of the children. 
Waiting for responses from a specific child
In this illustration, the parent waits for the response from one specific child. 