【发布时间】:2021-08-25 09:04:28
【问题描述】:
假设我拥有两个服务 A、B、B。服务 B 需要处理从服务 A 发送的消息。 B 不需要向 A 返回任何响应。相反,它只需要向服务 C 发送更新。
现在服务 A 有一个 SNS,由服务 B 订阅。B 有一个 lambda 函数,由来自 SNS 的消息调用。
服务 A 和 B 达成协议,A 将以 TPS 的 TPS 向 B 发送通知。服务 B 需要实施 TPS 限制器,以确保遵守协议,如果不遵守则限制。
更准确地说,每秒调用 lambda 的次数是有限制的。
请注意,lambda 的并发执行限制在这里可能不起作用,因为每个请求可能会在不到一秒的时间内完成。
也可以使用 SQS FIFO 队列,有 T 个消息组 ID 和 T 个工作线程,但这与上面提到的问题相同。
有解决这个问题的标准方法吗?
【问题讨论】:
标签: amazon-web-services aws-lambda amazon-sqs throttling