Challenge: Applying Fan-Out and Fan-In Orchestration
Test your understanding of fan-out and fan-in orchestration in durable functions.
We'll cover the following
Overview
In this challenge, you’ll apply fan-out orchestration in a durable function. You will do so by optimizing the logic in the existing orchestrator.
Requirements
In the setup below, we have a durable function that represents an ETL script. First, retrieve user IDs. Then, for each user, retrieve data from the database, transform it, and save it in another database.
The database-specific actions are emulated. User IDs are just arbitrary integers, while the ETL activity function emulates a computationally intensive process by waiting one second. However, this setup is sufficient to demonstrate its inefficiency. Perform the following tasks:
Apply fan-out orchestration to make the process more efficient.
Apply fan-in orchestration to aggregate the results.
Applying fan-out orchestration
Currently, the ETL activities run one after the other, which might take a long time. You need to make them run in parallel.
Applying fan-in orchestration
Once all ETL activities are executed, count the successful executions (i.e., the ones that return the UserDataEtlStatus
with the status of Success
) and pass them to the RecordSuccessCount
function that logs the count.
Get hands-on with 1400+ tech skills courses.