选择您的 Cookie 首选项

我们使用必要 Cookie 和类似工具提供我们的网站和服务。我们使用性能 Cookie 收集匿名统计数据,以便我们可以了解客户如何使用我们的网站并进行改进。必要 Cookie 无法停用,但您可以单击“自定义”或“拒绝”来拒绝性能 Cookie。

如果您同意,AWS 和经批准的第三方还将使用 Cookie 提供有用的网站功能、记住您的首选项并显示相关内容,包括相关广告。要接受或拒绝所有非必要 Cookie,请单击“接受”或“拒绝”。要做出更详细的选择,请单击“自定义”。

COST09-BP02 实施缓冲区或节流来管理需求 - AWS Well-Architected Framework

COST09-BP02 实施缓冲区或节流来管理需求

缓冲和限流可修改工作负载需求,从而避免出现任何峰值情形。在客户端执行重试时实施限流。实施缓冲以存储请求并将处理任务往后推迟一段时间。确认设计节流和缓冲区时客户端能够在所需的时间内收到响应。

未建立这种最佳实践的情况下暴露的风险等级:

实施指导

节流: 如果需求源具有重试功能,可以实施限流。限流会告诉需求源,如果当前无法处理请求,则应稍后再试。需求源将等待一段时间,然后重新尝试请求。实施限流的优势是可限制最大资源量和工作负载成本。在 AWS 中,您可以使用 Amazon API Gateway 实施限流。请参阅 《Well-Architected 可靠性支柱》白皮书 以了解有关实施限流的更多详细信息。

基于缓冲区: 与限流类似,缓冲区会延迟请求处理,从而允许以不同速率运行的应用程序有效通信。基于缓冲区的方法使用队列来接受来自产生方的消息(工作单元)。然后消息将由使用方读取并处理,这样消息就能够以满足使用方业务需求的速率运行。无需担心产生方必须处理数据持久性和反向压力等限流问题(因为使用方运行缓慢,导致产生方运行缓慢)。

在 AWS 中,您可以从多个服务中进行选择,以便实施缓冲方法。Amazon Simple Queue Service(Amazon SQS) 是一项托管服务,提供允许单个使用方读取单个消息的队列。Amazon Kinesis 提供允许众多使用方读取相同消息的流。

使用基于缓冲区的方法进行架构时,请确保架构工作负载以在所需时间内处理请求,并且您能够处理重复的工作请求。

实施步骤

  • 分析客户端需求: 分析客户端请求,确定它们是否能够执行重试。对于无法执行重试的客户端,需要实施缓冲区。分析总体需求、变化率和所需的响应时间,以确定所需的限流或缓冲区大小。

  • 实施缓冲区或节流: 在工作负载中实施缓冲区或限流。Amazon Simple Queue Service(Amazon SQS)之类的队列可以为工作负载组件提供缓冲区。Amazon API Gateway 可以为工作负载组件提供节流。

资源

相关文档:

隐私网站条款Cookie 首选项
© 2025, Amazon Web Services, Inc. 或其附属公司。保留所有权利。