p.m*_*aes 11 amazon-web-services amazon-sns aws-step-functions
在微服务之间协调任务的更好选择是什么?
例如,如果我有一个处理客户信息并需要通知其他微服务的微服务,那么在微服务之间创建工作流(AWS Steps)或使用SNS是否更好?
我认为AWS Steps将耦合我的lambda函数,而SNS不会.
Joh*_*ein 12
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是一个不错的选择.
| 归档时间: |
|
| 查看次数: |
2819 次 |
| 最近记录: |