AWS Lambda 并发请求限制以及如何增加?
AWS Lambda concurrent request limit and how to increase that?
我想要处理 1000 万个请求concurrently.DoesAWS lambda 能够做到这一点,因为他们提到只有 100 个并发请求作为 AWS lambda 限制?
在 AWS 控制台内导航至支持中心。您可以在此处为 AWS Lambda 并发执行创建 Service Limit Increase。
不过我认为他们不会立即将您的限制提高那么高。上次我要求从 100 增加到 5000 时进行了一些讨论,他们需要以下信息:
- 预计每秒平均请求数
- 每秒预期峰值请求
- 预计函数持续时间
- 函数内存大小
- 调用类型
- 事件源(如果适用)
最后我们同意 2000,这对我的用例来说很好。但他们绝对不会盲目接受任何请求,因为他们当然需要确保请求的资源随时可用。
支持人员大多会在 24 小时内回复,所以如果幸运的话,加薪可能会在 1-2 天内完成。在我的情况下,因为讨论花了 5-6 天。
根据您的用例,如果您可以支持即发即弃或某种回调方式,因为您使用的是 API 网关,所以可以让 API 网关写入您对 Kinesis 的请求,然后您可以拥有一个处理 Kinesis 流的 Lambda 函数。具有单个分片的单个流每秒可以处理 1000 次写入(或 1mb)。您可以通过增加分片数量来横向扩展,而不必担心 lambda 并发限制。
也就是说,API 网关也限制为 1000 transactions/second。通过 API 网关的 Lambda 可能不适合您的 1000 万个并发事务的用例 - 这与每秒 1000 万不同。但 Lambda 仍可用于处理通过 DynamoDB、Kinesis 或 Lambda 直接支持的其他一些事件源推送的事件。
AWS有很多地区,lambda有超过20多个地区的服务。每个地区都与其他地区完全隔离。你的千万并发是在一个区域还是全球?
如果是全球性的,您的最佳做法是先将您的服务分发到各个区域。
将您的服务负载分配到10个区域后,每个区域仍然有100万并发。您将需要联系 AWS 云支持团队以提高限制(即使您是并发小得多的客户,您应该已经有云支持的专门联系人来回答您的问题)
我想要处理 1000 万个请求concurrently.DoesAWS lambda 能够做到这一点,因为他们提到只有 100 个并发请求作为 AWS lambda 限制?
在 AWS 控制台内导航至支持中心。您可以在此处为 AWS Lambda 并发执行创建 Service Limit Increase。
不过我认为他们不会立即将您的限制提高那么高。上次我要求从 100 增加到 5000 时进行了一些讨论,他们需要以下信息:
- 预计每秒平均请求数
- 每秒预期峰值请求
- 预计函数持续时间
- 函数内存大小
- 调用类型
- 事件源(如果适用)
最后我们同意 2000,这对我的用例来说很好。但他们绝对不会盲目接受任何请求,因为他们当然需要确保请求的资源随时可用。
支持人员大多会在 24 小时内回复,所以如果幸运的话,加薪可能会在 1-2 天内完成。在我的情况下,因为讨论花了 5-6 天。
根据您的用例,如果您可以支持即发即弃或某种回调方式,因为您使用的是 API 网关,所以可以让 API 网关写入您对 Kinesis 的请求,然后您可以拥有一个处理 Kinesis 流的 Lambda 函数。具有单个分片的单个流每秒可以处理 1000 次写入(或 1mb)。您可以通过增加分片数量来横向扩展,而不必担心 lambda 并发限制。
也就是说,API 网关也限制为 1000 transactions/second。通过 API 网关的 Lambda 可能不适合您的 1000 万个并发事务的用例 - 这与每秒 1000 万不同。但 Lambda 仍可用于处理通过 DynamoDB、Kinesis 或 Lambda 直接支持的其他一些事件源推送的事件。
AWS有很多地区,lambda有超过20多个地区的服务。每个地区都与其他地区完全隔离。你的千万并发是在一个区域还是全球?
如果是全球性的,您的最佳做法是先将您的服务分发到各个区域。
将您的服务负载分配到10个区域后,每个区域仍然有100万并发。您将需要联系 AWS 云支持团队以提高限制(即使您是并发小得多的客户,您应该已经有云支持的专门联系人来回答您的问题)