任务资源及分配策略

ElasticFlow 的一个任务拓扑结构是典型的Source->Processor->Sink模型,同时计费单位是CU,一个CU对应的是虚拟的1核4G内存。用户对增量和全量指定的计算资源会全部分配给相应的任务。为了让Source、Processor和Sink能够达到最大吞吐(没有瓶颈节点,不会反压),可以根据本文中的策略来平衡资源分配。

增量任务分配策略

  • 资源分配:各个节点和并发均匀分配(通常情况下5CU能够满足1000QPS)。
  • 在Source节点:DTS采用单并发策略,LogService 会根据partition来控制并发。
  • 在Sink节点:Sink节点单并发向Elasticsearch发送数据。

全量任务分配策略

  • 资源分配:根据数据源和Elasticsearch的index动态计算。通常资源量在20-200CU能够在2小时内建立100G数据的index。
  • 在Source节点:MaxCompute会水平切分成多个并发。RDS考虑到数据一致性采用单并发策略。
  • 在Sink节点:最大限度满足资源需求,同时考虑index的partition数量。