阅读有关Flink的阅读,插槽共享的好处是什么,例如,我为什么要在Flink Job中隔离插槽?
我的想法是,假设4GB
JVM任务管理器,如果我将其分为两个任务插槽,一个称为ts1
,另一个称为ts2
,我可以在ts1
中放置一个非常密集的窗口操作,而某些map, filter
等可以进入ts2
?
插槽共享意味着将一个以上的子任务安排到同一插槽中,或者换句话说,这些运营商实例最终会共享资源。这有这些好处:
- 更好的资源利用率。否则,您可能很容易最终完成一些工作,而另一些则很忙。
- 减少网络流量。
- 然后,插槽的数量最终是工作中最高的并行度。让每个插槽运行一个并行切片,使得更容易地推理运行时发生的事情。
,如果您指出的是,您想将更多资源投入到昂贵的操作员时,您可能会发现禁用插槽共享是有利的。另一方面,您可以继续启用插槽共享,并给出每个插槽更多的内核和/或内存。