google-cloud-dataflow - Dataflow 的高可用性和地理冗余

就 Google Cloud 上 Dataflow 的 HA 而言,最佳架构是什么?我的工作负载在两个区域运行。数据流从一个多区域存储桶中读取并将结果写出到另一个多区域存储桶中。

为了实现高可用性(以防其中一个区域变得不可用),我计划运行两个相同的数据流管道,每个区域一个。

问题是这是否是可行的架构,尤其是在将结果写入相同的多区域存储桶方面。管道使用 TextIO 覆盖文件(如果存在)。您认为这会带来潜在的问题吗?

谢谢!

最佳答案

只要 GCP Dataflow 将工作人员分散在一个区域中 GCE同一特定区域内的实例,管理为 MIG组,在整个位置区域发生任何灾难都将要求用户重新启 Action 业并在单独的区域中指定区域。

考虑到这一点,我们可能会假设 Dataflow 提供区域高可用性模型而不是区域模型,因此到目前为止,指定多个区域并让 Dataflow 在计算区域中断时自动故障转移到不同区域是不可行的。

在提到的用例中,我假设对于不消耗任何实时到达数据的 Dataflow 批处理作业,您可以随时重新运行该作业而不会在失败时丢失数据。如果目标停留在不断摄取数据以发现 GCS 存储桶中出现新文件,那么您可能需要启动 streaming执行此特定管道。

我建议您查看 Google Cloud Functions , 这让你有机会编写用户函数 triggering基于某些云事件发生的特定操作。我想通过这种方式,您可能能够为主要区域中的批处理数据流管道获取有害事件,并基于此在单独的计算区域中执行相同的作业。

社区通过 issue tracker 向供应商提交功能请求会更加有益考虑 Dataflow 多区域高可用性实现。

https://stackoverflow.com/questions/63257210/

相关文章:

java - 数组是复合数据类型,但是如何呢?

html - 为什么 Chrome 和 Safari 在 标签中错误地呈现

python - APScheduler 关闭后无法安排新的 future

docker - Kubernetes 编织网络状态显示 - CrashLoopBackOff

sql-server - SQL Server 动态重置运行余额

reactjs - 确定派发返回值的类型

java - Springboots 允许保存重复文件

python - 如何使用 K.clear_session() 修复 Keras 中的内存泄漏问题?

html - LWC1079 预期根标签为模板,找到元

amazon-web-services - AWS secret 管理器