我正在学习GCP,并阅读了关于通信和管理云功能的不同方法,最终我想知道什么时候使用提供GCP的每种服务。
所以,我一直在阅读关于GCP Composer
,GCP Workflows
,Cloud Pub/Sub
的文章,我不清楚什么时候应该使用每一种方法,或者使用简单的HTTP调用。
我知道这在很大程度上取决于你正在构建的应用程序,但例如,如果我正在构建一个支付网关,一些功能应该在支付验证后触发,比如发送电子邮件,创建不相关的业务逻辑,将购买添加到销售平台。那么,哪种方式应该是我管理这个流的方式,在哪种情况下使用其他方式会更好呢?我应该使用事件来创建带有发布/订阅的异步流,还是应该使用复杂的解决方案,如composer和工作流?或者只是简单的HTTP调用?
发布于 2021-02-13 12:47:03
像往常一样,这取决于!即使在您的用例中,也要视情况而定!好的,付款后你要发送一封电子邮件,制定业务逻辑,将订单添加到你的数据库中,……
但是,是否所有这些操作都可以并行完成,或者您需要以特定的顺序执行它们,如果某个步骤失败,您将停止该过程?
在第一种情况下,您可以使用云PubSub,只发布一条消息(支付OK),然后并行分散到多个函数。否则,您可以使用工作流来测试函数的响应,然后调用或不调用以下函数。使用composer,您可以执行更多的检查和操作。
您还可以想象在24小时后发送另一封电子邮件,以感谢客户的订单,并使用Cloud Task延迟操作。
您谈到了Cloud Functions,但您也有其他解决方案来托管GCP上的代码: App Engine和Cloud Run。大多数情况下,云函数的用途是单一的。发送电子邮件对于一个功能来说是完美的。
现在,如果您有“一组功能”来浏览库存、查看对象详细信息、查看价格和预订对象(验证订单“预订”仓库中的订单内容),那么这些“功能”都是单一用途的,但与同一个领域相关:仓库管理。因此,您可以创建一个you服务器来建议不同的路径来管理仓库(如果您愿意,这是一个仓库的微服务),并将其托管在CloudRun或App Engine上。
每种产品都有它的长处和短处。当您了解GCP上的存储时,您也会看到这一点。大多数时候,你可以用几个产品实现目标,但如果你没有使用正确的产品,它将变得更慢,或者成本更高。
https://stackoverflow.com/questions/66180716
复制相似问题