在 Apache Flink 中,Task Slot(任务槽) 与 Parallelism(并行度) 是两个容易混淆但至关重要的概念。理解它们的关系对于资源规划和性能调优非常关键。 可以用一句话总结它们的关系:Task Slot 是静态的资源容量(有多少个坑位),而 Parallelism 是动态的执行需求(要同时干多少活)。 以下是详细的对比与原理解析: --- 1. 基本概念定义 Task Slot (任务槽) 定义:Task Slot 是 TaskManager(工作进程) 中的资源切片。 性质:静态配置。 作用:它表示一个 TaskManager 并发执行能力的上限。一个 TaskManager 有 3 个 Slot,意味着它将其管理的内存分成了 3 份,可以同时运行 3 个独立的任务链。 资源隔离:Slot 之间主要隔离内存(Managed Memory),但通常共享 CPU(在同一个 JVM 进程内)。 Parallelism (并行度) 定义:一个特定算子(Operator,如 Map、KeyBy、Sink)被切分为多少个 SubTask(子任务) 并行执行。 性质...