GCP 数据流与云功能

GCP Dataflow vs Cloud Functions

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

使用 pub/sub-BQ 模板将我的订户 CF 更改为数据流流作业是个好主意吗? 使用它们有什么pros/cons?

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

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

您还必须考虑功能部署的难易程度(与数据流相反,您必须耗尽管道,停止并重新启动它)以及执行更多操作的能力(以及超过更长的时间)与数据流(你的处理能力有限,每条消息的处理时间不能超过 9 分钟)。

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

作为奖励,我还有第三种选择:Cloud 运行。云 运行 几乎和函数更新和部署一样容易,处理时间稍长(每条消息 15 分钟)并且您可以在同一个实例上处理多条消息,因此定价可能会高得多由于这种分解,比函数更有趣。有兴趣的可以去this article that I wrote

看看