SonataFlow provides two persistence mechanisms to store information about the workflow instances. The Workflow runtime persistence, and Data Index persistence.
Each mechanism is intended for a different purpose:
The workflow runtime persistence ensures that your workflow instances remain consistent during an error or a runtime restart. For example, a pod restart, a programmed maintenance shutdown, etc. This is achieved by storing snapshots of the executing workflow instances [see more details]. That information is stored in an internal format, and usually, you must only focus on providing the proper configurations to use it.
To learn how to configure it we recommend that you read the following sections depending on your use case:
Note
|
In production environments, or when your workflows use timeouts, or you use operator managed knative serving deployments, it’s strongly recommended that you configure the workflow runtime persistence. |
The Data Index persistence is designed to store information about your workflow instances in a way that this information can be consumed by other services using GraphQL queries. This is achieved by properly configuring and deploying the Data Index Service in your installation.
To learn how to configure and deploy the Data Index Service we recommend that you read the following sections depending on your use case:
To learn more about this service, examine the links in additional resources.
-
use-cases/advanced-developer-use-cases/data-index/data-index-as-quarkus-dev-service.adoc
-
use-cases/advanced-developer-use-cases/data-index/data-index-usecase-singleton.adoc
-
use-cases/advanced-developer-use-cases/data-index/data-index-usecase-multi.adoc
-
use-cases/advanced-developer-use-cases/data-index/data-index-quarkus-extension.adoc