AWS Step Functions - Google Cloud Platform 是否有这样的解决方案?
AWS Step Functions - is there such a solution for Google Cloud Platform?
目前我正在研究将复杂的 Web 应用程序从 AWS 迁移到 GCP 的可能性和正确方法。 mapping general compute and networking services from one provider to another, but I wonder if GCP has a service similar to AWS Step Functions? I've already taken a look at Google Dataflow and Google Cloud Tasks 实际上没有问题。第二个好像是这样的,不过不知道是不是最优解
所以问题是 google 的哪个服务提供与 AWS Step Functions 相同的功能?如果没有这样的 - 那么您会推荐哪些服务的组合以实现分布式任务(主要是云功能)的有效编排。
谢谢!
2021年更新
正如 Brian de Alwis 在下面指出的那样,由于写了这个答案 Cloud Workflows 现在普遍可用并且在功能上类似于 Step Functions。
2019答案
据我所知,没有什么特别像 Step Functions 的东西,但我有两种策略可以在 Google Cloud 上创建这些类型的微服务系统。
策略 1:云 Run/Cloud 函数 Pub/Sub
在这里,我将使用 Cloud 运行 或 Cloud Functions 创建微服务,并将这些功能订阅到 Pub/Sub 主题。这意味着当函数 A 执行并完成其工作时,它会向特定主题发布一条消息,其中包含一个数据包,任何订阅它的函数都将接收并执行该数据包。
例如,您可以创建两个名为 FunctionASuccess 和 FunctionAError 的主题,并创建两个单独的函数来订阅一个或另一个并处理成功和错误用例。
策略 2:Firebase 函数与 Firestore/Realtime 数据库
与上面类似,我创建了 Firebase 函数来监视 Firestore 或 RTDB 中的变化。
因此 Function A 执行并完成其任务,它将文档保存到 Firestore 或 RTDB 中的 FunctionAResults 集合。然后执行订阅 FunctionAResults 集合中更改的函数,并将其带到下一步。
它们都工作可靠,所以我没有偏好,但如果我使用其他 Firebase 服务,我通常会选择第二种策略。
您正在寻找 Cloud Composer. It's based on the open-source library Apache Airflow,它允许您以类似于步骤函数的方式定义和编排工作流。
Cloud Workflows 已在 Cloud Next On Air 2020 上宣布。
目前我正在研究将复杂的 Web 应用程序从 AWS 迁移到 GCP 的可能性和正确方法。 mapping general compute and networking services from one provider to another, but I wonder if GCP has a service similar to AWS Step Functions? I've already taken a look at Google Dataflow and Google Cloud Tasks 实际上没有问题。第二个好像是这样的,不过不知道是不是最优解
所以问题是 google 的哪个服务提供与 AWS Step Functions 相同的功能?如果没有这样的 - 那么您会推荐哪些服务的组合以实现分布式任务(主要是云功能)的有效编排。 谢谢!
2021年更新
正如 Brian de Alwis 在下面指出的那样,由于写了这个答案 Cloud Workflows 现在普遍可用并且在功能上类似于 Step Functions。
2019答案
据我所知,没有什么特别像 Step Functions 的东西,但我有两种策略可以在 Google Cloud 上创建这些类型的微服务系统。
策略 1:云 Run/Cloud 函数 Pub/Sub
在这里,我将使用 Cloud 运行 或 Cloud Functions 创建微服务,并将这些功能订阅到 Pub/Sub 主题。这意味着当函数 A 执行并完成其工作时,它会向特定主题发布一条消息,其中包含一个数据包,任何订阅它的函数都将接收并执行该数据包。
例如,您可以创建两个名为 FunctionASuccess 和 FunctionAError 的主题,并创建两个单独的函数来订阅一个或另一个并处理成功和错误用例。
策略 2:Firebase 函数与 Firestore/Realtime 数据库
与上面类似,我创建了 Firebase 函数来监视 Firestore 或 RTDB 中的变化。
因此 Function A 执行并完成其任务,它将文档保存到 Firestore 或 RTDB 中的 FunctionAResults 集合。然后执行订阅 FunctionAResults 集合中更改的函数,并将其带到下一步。
它们都工作可靠,所以我没有偏好,但如果我使用其他 Firebase 服务,我通常会选择第二种策略。
您正在寻找 Cloud Composer. It's based on the open-source library Apache Airflow,它允许您以类似于步骤函数的方式定义和编排工作流。
Cloud Workflows 已在 Cloud Next On Air 2020 上宣布。