【问题标题】:Subscribing to google pub/sub messages via cloud functions versus using dataflow通过云功能订阅谷歌发布/订阅消息与使用数据流
【发布时间】:2020-02-26 17:55:30
【问题描述】:
我有一个 pubsub 主题,每秒发布大约 1 条消息。消息大小约为 1kb。我需要将这些数据实时获取到 cloudsql 和 bigquery 中。
数据以稳定的速度出现,至关重要的是它们都不会丢失或延迟。将它们多次写入目的地不是问题。数据库中所有数据的大小在1GB左右。
使用由主题触发的谷歌云功能与谷歌数据流来解决这个问题有什么缺点/优点?
【问题讨论】:
标签:
google-cloud-functions
google-cloud-dataflow
google-cloud-sql
google-cloud-pubsub
【解决方案1】:
Dataflow 专注于在将数据加载到接收器之前对其进行转换。当您想要执行windowed data(聚合、求和、计数...)的计算时,Dataflow (Beam) 的流模式非常强大。如果您的用例需要稳定的速率,那么当您部署新版本的管道时,Dataflow 可能会是一个挑战(如果双倍值不成问题,希望很容易解决!)
云函数是云的粘合剂。在您的描述中,它似乎非常合适。在主题上,创建 2 个订阅和 2 个函数(每个订阅一个)。一个用 BigQuery 编写,另一个用 CLoud SQL 编写。这种并行化可确保您在处理过程中的延迟最低。