流处理是一种重要的大数据处理手段,其主要特点是其处理的数据是源源不断且实时到来的。分布式流处理是一种面向动态数据的细粒度处理模式,基于分布式内存,对不断产生的动态数据进行处理。其对数据处理的快速,高效,低延迟等特性,在大数据处理中发挥越来越重要的作用。
分布式流处理是指基于分布式技术对流数据进行动态处理,具有较好的伸缩性、实时性和开放性。分布式流处理通常部署于大规模集群中,通常将流数据处理过程抽象为一个有向无环图。调度算法则负责将有向无环图中的组件合理的分配至集群中的可用服务器上。流处理系统作为流处理作业的平台,负责所有集群资源的管理和分配。对于用户提交的流处理作业,流处理系统需考虑该作业所处理的数据量及集群中不同节点的负载,并将其合理的分配到集群的不同作业节点上。因而如何最大化集群的利用率,即最大化集群可容纳的流处理作业数量。好的任务分配策略能够加快数据处理的速率,提升系统整体吞吐量,均衡集群中的负载,或者减少集群中的资源占用率。