GCP 数据流与云函数

Dar*_*aik 3 google-cloud-platform google-cloud-pubsub google-cloud-dataflow google-cloud-functions

我有一个现有系统,其中数据发布到 Pub/Sub 主题,由云功能订阅者读取并推送到 Big Query 以存储它(订阅者 CF 中未完成其他转换)。

使用 pub/sub-BQ 模板将我的订阅者 CF 更改为 Dataflow 流作业是个好主意吗?使用它们的优点/缺点是什么?

gui*_*ere 5

一切都取决于您的用例和数据速率。

  • 在发布到 PubSub 主题的稀疏数据的情况下,Cloud Function 运行良好且成本几乎为零
  • 在可持续流量的情况下,您必须注意处理时间。一个简单的数据流将只花费 1vm(基本 vm,n1-standard-1)。Cloud Functions 小时价格比 1vm up (n1-standard-1) 贵。在并发消息的情况下,会产生多个实例,这会增加处理成本。

您还必须考虑部署功能的难易程度(与 Dataflow 相反,您必须排空管道、停止并重新启动它)以及执行更多操作的能力(并且在更长的时间内)使用Dataflow(您在功能上的处理能力有限,并且每条消息的处理时长不能超过9分钟)。

根据您的项目观点,一种或另一种解决方案可能更好。

作为奖励,我还有第三种选择:Cloud Run。Cloud Run 几乎和函数更新和部署一样简单,处理时间长一点(每条消息 15 分钟),您可以在同一个实例上处理多条消息,因此,定价可能比使用更有趣由于这种分解的功能。有兴趣的可以看看我写的这篇文章