问题:
目前,流处理引擎(SPE)在调度时忽略了拓扑结构、executor之间的关系,频繁通信的task在调度时必须考虑其他方面的问题:资源供应、task的计算需求、通信worker node节点之间的物理距离等等。
频繁通信的task可能会在不同的计算节点上,从而增加了网络延迟。
默认调度器问题:
当storm集群是一个由两个worker node节点充当supervisor
调度下图线性拓扑时:
spout a分配到supervisor 1
bolt a分配到supervisor 2
bolt b分配到supervisor 1
bolt c分配到supervisor 2
但通信的两个{
spout a bolt a}在不同的节点,所以需要节点间的通信。
这就造成了执行延迟,低吞吐量