【问题标题】:how to handle burst of streaming data for a very short duration如何在很短的时间内处理突发的流数据
【发布时间】:2021-01-28 16:05:43
【问题描述】:

我们想要开发一个系统,可以处理突发的流数据,1M 事件/秒持续 1 分钟,然后负载将显着降低到 100/秒。

这些 1 分钟的数据突发每天可能发生 5-10 次,我们需要聚合(简单分组)数据并转储到另一个服务。这些聚合需要每 200 毫秒发生一次。

什么是最小成本和最大吞吐量的最佳架构?我看过 google pubsub/p + google dataflow + apache beam 但这似乎需要很长时间才能自动缩放。

欢迎任何进一步探索的建议

【问题讨论】:

    标签: streaming spark-streaming google-cloud-dataflow apache-beam data-processing


    【解决方案1】:

    如您所说,您可以将 Pub/Sub 与 Dataflow 一起使用。此数据流管道可能包含以下步骤:

    1. 从 Pub/Sub 主题读取消息,
    2. 解析输入消息的 JSON 并生成一个主输出
    3. 并可选择写入 BigQuery。

    当数据将在 Pub/Sub 主题中每秒创建数百万条消息时,Dataflow 会扩展工作人员的数量以处理传入 Pub/Sub 消息的积压,并将管道的系统延迟保持在最佳水平。

    我建议检查以下Codelabs,它显示了如何启动 Dataflow 管道、对其进行监控,最后与 Pub/Sub 一起对其进行优化。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-17
      • 1970-01-01
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多