通过队列级路由配置和BufferTask API简化HTTP请求缓冲

Google Cloud Tasks 新增功能概述

Google 最近为 Cloud Tasks 添加了两项新功能:队列级别的路由配置和 BufferTask API(目前处于公开预览阶段)。这两项功能结合在一起,使得开发者可以在不使用 Tasks 客户端库的情况下,创建 HTTP 任务并将其添加到队列中。

Cloud Tasks 简介

Cloud Tasks 是 Google Cloud Platform 上的一项完全托管服务,用于管理任务的执行、调度和异步交付。开发者可以使用该服务将独立任务(如 HTTP 请求)添加到队列中,这些任务将保留在队列中,直到由 App Engine 应用或其他任意 HTTP 端点异步执行。此外,该服务还提供了多种弹性功能,如任务去重、保证交付、速率控制和重试机制。

新功能介绍

1. 队列级别的路由配置

该功能允许开发者为整个队列中的所有新任务和待处理任务更改 HTTP 任务的路由。这使得创建任务更加易于管理,因为无需在任务级别设置 HTTP 目标。控制权转移到服务提供者手中,他们可以更好地定义队列中所有任务的目标。例如,如果原始后端不可用,服务提供者可以将流量重定向到备用后端。

2. BufferTask API

BufferTask API 使开发者无需输入任何任务规范(如 HTTP URL、标头和授权信息)即可生成 HTTP 任务。相反,开发者可以向 Buffer API 发送标准 HTTP 请求,该 API 会使用队列级别路由配置中的默认设置将请求打包成 HTTP 任务。

使用 BufferTask API 的前提是必须为队列设置目标 URI 配置,这意味着必须先启用队列级别的路由配置功能。

开发者受益

Google 开发者倡导者 Mete Atamel 表示,缓冲功能在保护服务免受突发流量或负载冲击时非常有用。例如,如果服务每秒只能处理 5 个请求,发送每秒 100 个请求只会使服务不堪重负。通过添加队列,可以以服务可接受的速率从队列中处理请求。

此外,这些功能使得服务调用者无需再创建任务,只需发送常规 HTTP 请求,Cloud Tasks 队列将负责处理排队、排空和速率限制等后续工作。

定价与资源

Cloud Tasks 的定价详情可在 定价页面 上查看。有关新功能的更多详细信息和指导,可参考 GitHub 上的 Cloud Tasks 示例仓库实践代码实验室

阅读 30
0 条评论