Deployment Modes
On this page
The Deployment mode controls whether your Apache Flink® application is executed in application mode or session mode.
Application vs. Session Mode
The main difference between application and session mode is the level of resource isolation between Deployments.
- Application Mode Your Deployment will be executed in a separate Flink cluster. The lifecycle of the Flink cluster is tied to the lifecycle of the Deployment.
- Session Mode Your Deployment will be executed in a Flink Session Cluster that may be shared with other Deployments. The lifecycle of the Flink cluster is independent of the Deployment lifecycle.
In general, sharing a Flink cluster across multiple Deployments is more resource-efficient, but can result in competition for CPU and memory between running Flink jobs and correlation of Flink job failures. Please consult the official Apache Flink® configuration for more details on the difference between application mode and session mode.
Configuration
In order to execute a Deployment in application mode, please provide a reference to a Deployment Target.
1kind: Deployment
2spec:
3 deploymentTargetName: defaultIf preferred, you can reference Deployment Targets via their ID instead of their name by using the deploymentTargetId attribute.
In application mode, the Deployment API specifies both the Flink cluster-level configuration as well as the Flink job-specific configuration.