当移动数据时,使用Dataflow而不是云函数有哪些好处?

21

我对GCP还比较新,并且刚开始在GCP上设置/评估我们组织的架构。

场景:
数据将流入pub/sub主题(高频率,低数据量)。目标是将该数据移动到Big Table。据我所知,可以通过在主题上触发云函数或使用Dataflow来实现此目的。

现在我之前有过使用云函数的经验,并且对其感到满意,所以我会选择它。

我不明白为什么要选择其中一个产品的好处。所以我的问题是,何时选择这些产品中的哪一个?

谢谢

2个回答

22

这两种解决方案都可以。如果您的Pub/Sub流量增长到大量数据,Dataflow将更好地扩展,但对于少量数据,Cloud Functions也可以正常工作; 我建议您查看此页面(特别是速率限制部分),以确保符合Cloud Functions要求: https://cloud.google.com/functions/quotas

另一个需要考虑的问题是,Dataflow可以保证数据的精准一次性处理,以确保BigTable中没有重复数据。Cloud Functions不会为您提供此功能。如果选择函数方法,则需要确保Pub/Sub消息始终确定要写入哪个BigTable单元格;这样,如果函数重试多次,则相同数据将简单地覆盖相同的BigTable单元格。


9
你的需求听起来相对简单,使用Dataflow可能会过于复杂。如果Cloud Functions可以满足你的需求,那么最好使用它。通常情况下,保持简单易懂是可维护性的关键。
然而,当你需要执行合并事件等转换操作,然后将它们存储在BigTable中时,Dataflow真正发挥作用:

https://beam.apache.org/documentation/programming-guide/#groupbykey


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接