AWS Pub/Sub 消息模式
AWS Pub/Sub Message Pattern
谁能给我解释一下使用 SNS -> Lambda 与 SNS -> SQS -> Lambda 的优缺点。
我正在寻求为 pub/sub 微服务消息传递建立一个架构,但是在每个 Lambda 前面都有一个队列似乎太多了。
Amazon SQS 是分布式应用程序用来通过轮询模型交换消息的消息队列服务,可用于分离发送和接收组件——无需每个组件同时可用。通过结合使用 Amazon SNS 和 Amazon SQS,可以将消息传送到需要立即通知事件的应用程序,并保留在 Amazon SQS 队列中供其他应用程序稍后处理。
除非您不想分离发送和接收组件,只是想实现您在问题中的用例,否则它将在 SNS-Lambda 和 SNS-SQS-Lambda 两种情况下工作。
除非发生变化,否则部署 SNS → Lambda 或 SNS → SQS → Lambda 哪个更有意义的问题是基于一个存在重大缺陷的前提。
如 Lambda 文档中的 Supported Event Sources 所示,Lambda 事件可以源自 S3、DynamoDB、Kinesis、SNS、SES、Cognito、CloudFormation、CloudWatch 和事件(包括计划事件)、AWS Config 、Amazon Echo 和 API 网关。
当然,您可以直接调用它们。
但 SQS 不是受支持的 Lambda 事件源。
谁能给我解释一下使用 SNS -> Lambda 与 SNS -> SQS -> Lambda 的优缺点。
我正在寻求为 pub/sub 微服务消息传递建立一个架构,但是在每个 Lambda 前面都有一个队列似乎太多了。
Amazon SQS 是分布式应用程序用来通过轮询模型交换消息的消息队列服务,可用于分离发送和接收组件——无需每个组件同时可用。通过结合使用 Amazon SNS 和 Amazon SQS,可以将消息传送到需要立即通知事件的应用程序,并保留在 Amazon SQS 队列中供其他应用程序稍后处理。
除非您不想分离发送和接收组件,只是想实现您在问题中的用例,否则它将在 SNS-Lambda 和 SNS-SQS-Lambda 两种情况下工作。
除非发生变化,否则部署 SNS → Lambda 或 SNS → SQS → Lambda 哪个更有意义的问题是基于一个存在重大缺陷的前提。
如 Lambda 文档中的 Supported Event Sources 所示,Lambda 事件可以源自 S3、DynamoDB、Kinesis、SNS、SES、Cognito、CloudFormation、CloudWatch 和事件(包括计划事件)、AWS Config 、Amazon Echo 和 API 网关。
当然,您可以直接调用它们。
但 SQS 不是受支持的 Lambda 事件源。