如何解决为触发 lambda 的外部服务限制 TPS
假设有两个服务 A、B、B 归我所有。有消息从服务 A 发送,服务 B 需要处理这些消息。 B 不需要向 A 返回任何响应。相反,它只需要向服务 C 发送更新。
现在服务 A 有一个 SNS,它被服务 B 订阅。B 有一个 lambda 函数,它被来自 SNS 的消息调用。
服务 A 和 B 达成协议,A 将使用 TPS 的 TPS 向 B 发送通知。服务 B 需要实施 TPS 限制器,以确保遵守协议,如果不遵守则进行节流。
更准确地说,每秒调用 lambda 的次数是有限的。
请注意 lambda 的并发执行限制在这里可能不起作用,因为每个请求可能会在不到一秒的时间内完成。
也可以使用 SQS FIFO 队列,具有 T 个消息组 ID 和 T 个工作线程,但这具有与上述相同的问题。
解决这个问题的标准方法是什么?
解决方法
使用 API 网关开箱即用。如果跨过 TPS,它可用于限制请求。这会给客户端一个 429 状态。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。