Art*_*pov 8 amazon-web-services web google-cloud-platform aws-step-functions serverless
目前,我正在研究将复杂的 Web 应用程序从 AWS 迁移到 GCP 的可能性和正确方法。将通用计算和网络服务从一个提供商映射到另一个提供商实际上没有问题,但我想知道 GCP 是否有类似于AWS Step Functions 的服务?我已经看过 Google Dataflow和 Google Cloud Tasks。第二个似乎是这样的,但我不确定它是否是最佳解决方案。
所以问题是谷歌的哪些服务提供了与 AWS Step Functions 相同的功能?如果没有这样的 - 那么你会推荐哪些服务的组合来实现分布式任务(主要是云功能)的有效编排。谢谢!
2021 更新
正如下面的 Brian de Alwis 所指出的,由于编写了此答案,因此Cloud Workflows现在普遍可用,并且在功能上类似于 Step Functions。
2019 答案
据我所知,没有什么特别像 Step Functions,但我有两种策略可以在 Google Cloud 上创建这些类型的微服务系统。
策略 1:使用 Pub/Sub 的 Cloud Run/Cloud Functions
在这里,我将使用 Cloud Run 或 Cloud Functions 创建微服务,并将这些函数订阅到 Pub/Sub 主题。这意味着当函数 A 执行并完成它的工作时,它会向特定主题发布一条消息,其中包含任何订阅它的函数都将接收和执行的数据包。
例如,您可以创建两个名为FunctionASuccess和FunctionAError 的主题,并创建两个单独的函数,订阅其中一个并处理成功和错误用例。
策略 2:Firebase 函数与 Firestore/实时数据库
与上面类似,我创建了 Firebase 函数来监视 Firestore 或 RTDB 中的变化。
因此,函数 A执行并完成其任务,它将文档保存到 Firestore 或 RTDB 中的 FunctionAResults 集合中。然后执行订阅 FunctionAResults 集合中更改的函数并将其带到下一步。
它们都可靠地工作,所以我没有偏好,但如果我使用其他 Firebase 服务,我通常会采用第二种策略。
| 归档时间: |
|
| 查看次数: |
4844 次 |
| 最近记录: |