繁体   English   中英

AWS SNS与AWS步骤功能

[英]AWS SNS vs AWS Step Functions

在微服务之间协调任务的更好选择是什么?

例如,如果我有一个处理客户信息并需要通知其他微服务的微服务,那么在微服务之间创建工作流(AWS Steps)或使用SNS是否更好?

我认为AWS Steps将耦合我的lambda函数,而SNS不会。

AWS Step Functions是执行AWS Lambda函数的步骤机器。 如果您的任务涉及“执行此操作,那么这个”活动,那么步骤功能可能是一个不错的选择。 它包括确定下一步并自动处理重试的逻辑。 它是Amazon Simple Workflow(SWF)的现代版本。

Amazon Simple Notification Service(SNS)也可以触发Lambda函数,但它不处理逻辑和重试。 它非常适合解耦服务,尤其适用于多个订阅者从主题接收相同消息的扇出 - 例如,用于触发多个Lambda函数或发送多个通知。 它基本上是一个公共/订阅服务,Lambda是其中一种订阅者类型。

选择取决于您的特定用例。 如果您不想重新设计使用步骤功能的东西,请通过SNS发送通知。 如果您有时发送通知(例如电子邮件)而不是仅触发Lambda函数,请使用SNS。

目前,步骤功能并非在每个地区都可用,而SNS无处不在,因此可能也会影响您的选择。

这取决于您想要的协调类型。 同步或异步。

如果它是同步的,并且如果你真的想在它们之间进行一些协调,那么亚马逊简单通知服务(SNS)将无济于事,并且AWS步骤功能将成为可能。

但是如果需求是异步的,并且您只想通知/调用微服务,那么SNS将更适合。

正如我可以从你的问题中读到“需要通知其他微服务”我认为它只是通知它们(而不是协调它们),并且每个人都知道如何进一步做,而不依赖于其他微服务。 如果这是真的那么SNS是一个不错的选择。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM