Dataflow 可靠性指南

Last reviewed 2023-08-07 UTC

Dataflow 是一种全代管式数据处理服务,它使用开源 Apache Beam 库实现快速、简化的流式数据流水线开发。Dataflow 通过自动扩缩和批处理来最大限度地减少延迟、缩短处理时间并降低费用。

最佳实践

使用 Dataflow 构建支持生产环境的数据流水线 - 一个关于使用 Dataflow 的文档系列,包括规划、开发、部署和监控 Dataflow 流水线。

  • 概览 - Dataflow 流水线简介。
  • 规划 - 衡量 SLO,了解数据源和接收器对流水线可扩缩性和性能的影响,并在指定运行 Dataflow 作业的区域时考虑高可用性、灾难恢复和网络性能。
  • 开发和测试 - 设置部署环境,通过使用死信队列进行错误处理来防止数据丢失,并通过最大限度地减少昂贵的每元素操作来缩短延迟时间和降低费用。此外,通过使用批处理来降低性能开销,而不会使外部服务过载,取消不适当融合的步骤,以便将步骤分开以获得更好的性能,并在投入生产前运行端到端测试,以确保流水线继续满足 SLO 和其他生产要求。
  • 部署 - 持续集成 (CI) 以及持续交付和部署 (CD),含有关于部署新版本流处理流水线的特殊注意事项。此外,还介绍了 CI/CD 流水线示例和一些用于优化资源使用情况的功能。最后,讨论高可用性、地理冗余以及流水线可靠性的最佳做法,包括区域级隔离、使用快照、处理作业提交错误以及从会影响正在运行的流水线的错误和服务中断恢复。
  • 监控 - 观察服务等级指标 (SLI),这是流水线性能的重要指标,用于定义和衡量服务等级目标 (SLO)。