流处理框架:重量级与轻量级的深度剖析
1. 重量级流处理框架
1.1 自动扩展应用
自动扩展是根据特定指标自动调整应用规模的过程。这些指标包括处理延迟、消费者滞后、内存使用和 CPU 使用等。部分框架具备内置的自动扩展选项,如 Google 的 Dataflow 引擎、Heron 的健康管理器以及 Spark Streaming 的动态分配功能。其他框架则需要你自行收集性能和资源利用率指标,并将其与框架的扩展机制相连接。
1.2 故障恢复
重量级集群设计为能高度容忍长时间运行作业中不可避免的故障。主节点、工作节点和 Zookeeper 节点(若适用)的故障都能得到缓解,以确保应用几乎不受影响地继续运行。这些容错功能内置于集群框架中,但在部署集群时可能需要额外的配置步骤。
- 工作节点故障 :在工作节点发生故障时,该节点上正在执行的任务会被转移到其他可用的工作节点。任何所需的内部状态会从最近的检查点重新加载,同时重新分配分区。
- 主节点故障 :主节点故障对正在执行的应用应是透明的,但根据集群配置,在主节点故障期间可能无法部署新作业。由 Zookeeper(或类似技术)支持的高可用性模式可以减轻主节点故障的影响。
1.3 多租户考虑
随着集群上应用数量的增加,除了集群管理的开销外,还必须考虑多租户问题。具体而言,应考虑资源获取的优先级、备用资源与已分配资源的比例,以及应用获取资源的速率(即扩展)。以下是缓解这些挑战的方法:
- 运行多个较小的集群 :每个团队或业务部门可
超级会员免费看
订阅专栏 解锁全文
711

被折叠的 条评论
为什么被折叠?



