olitomlinson / dapr-workflow-examples

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

dapr-workflow-examples

This repo is for load testing Dapr Workflows via Docker Compose.

In the past, this has flushed out many concurrency issues in the underlying durabletask-go library, which have been subsequently addressed in newer versions of the Dapr runtime. main currently targets 1.14.0-rc6 of the runtime which is the first vresion to address the horizontal scaling constraints by inclusion of the new Actor Reminder sub-system.

Run with 5 instances of the Workflow App, and 3 instances of the scheduler service

  1. docker compose -f compose-5-instances-3-schedulers.yml build
  2. docker compose -f compose-5-instances-3-schedulers.yml up

Run a simple monitor pattern workflow

This will create many workflow instances randomly distributed across the Workflow App instances.

Run the workflows by making a POST request to :

http://localhost:5112/start/monitor-workflow?runId={runId}&count=1000&async=true

  • Where {runId} is a unique value i.e. UUID/GUID.
  • Increase/decrease the amount of workflows created by changing the count property

Run a simple fan-out & fan-in pattern workflow

This will create many workflow instances randomly distributed across the Workflow App instances.

Run the workflows by making a POST request to :

http://localhost:5112/start/fanout-workflow?runId={runId}&count=1000&async=true

  • Where {runId} is a unique value i.e. UUID/GUID.
  • Increase/decrease the amount of workflows created by changing the count property

About


Languages

Language:C# 95.5%Language:Dockerfile 4.5%