Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor proto actor runtime with snapshot support #3283

Merged
merged 16 commits into from
Sep 2, 2022
Merged

Conversation

sfmskywalker
Copy link
Member

This PR updates the proto actor runtime implementation by removing the need to create and update workflow instance documents continuously.

Instead, workflow instances now purely live in-memory in the proto actor runtime as virtual actors aka grains.
Each workflow instance grain persists snapshots after every workflow execution. The snapshot persistence provider is pluggable and uses an in-memory provider by default.

We still need a way to persist a full/current view of workflow instances for e.g. dashboarding. But this aspect is now pluggable and can use different strategies. Examples are:

  • Export the workflow instance into the DB every 10 seconds
  • Export (parts of) the workflow instance into Elastic Search

These export operations will happen asynchronously in the background, preventing them from hindering workflow execution throughput.

@sfmskywalker sfmskywalker merged commit e2ffafc into v3 Sep 2, 2022
@sfmskywalker sfmskywalker deleted the db-less-execution branch September 2, 2022 11:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant