BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

谷歌发布任务队列服务Cloud Tasks

| 作者 Eldert Grootenboer 关注 3 他的粉丝 ,译者 无明 关注 3 他的粉丝 发布于 2018年10月11日. 估计阅读时间: 4 分钟 | CNUTCon 了解国内外一线大厂50+智能运维最新实践案例。

谷歌发布了Cloud Tasks,这是一项针对谷歌云平台App Engine服务的任务队列服务。Cloud Tasks允许从应用程序中异步执行任务,解耦服务并支持长期运行和在后台运行的活动。

借助Cloud Tasks,应用程序可以将任务、由应用程序开发人员定义的工作单元放在分布式队列中,然后将这些队列推送给处理服务。任务队列的概念已经经过所有大型云提供商(如带有SQS的AWS和带有服务总线的Azure)的实际验证。实际上,Cloud Tasks是谷歌Task Queue服务的进阶版,它也提供了相同的概念。现在,所有现有的和新的任务队列的管理将整合到Cloud Tasks之下,正如谷歌云平台产品经理Morgan Hallmon在公告中所述的那样。

多年来,App Engine客户利用了Task Queue,这是一种支持异步任务执行的App Engine服务。随着Cloud Tasks的发布,任务队列的所有管理工作现在都集中到Cloud Tasks控制台、命令行和API中。

使用任务队列有几个好处,例如让系统变得松散耦合,将工作负载分摊给后台服务,以及通过为系统之间的任务提供存储来提高可靠性。

来源: https://en.wikipedia.org/wiki/Scheduling_(computing)#task_queue

最初,Cloud Tasks似乎与谷歌的其他队列服务(如Pub/Sub)有很多重叠的地方。虽然相似之处是显而易见的,但两者之间的用例确实不同。Google将Pub/Sub定位为专注于大数据和网络运营的服务,提供高吞吐量,同时保持对内容和目标应用程序的不可知性。而Cloud Tasks提供的是托管执行服务,可以处理很多显式的命令,这些命令通过后台进程来处理。

此外,与Task Queues不同的是,Cloud Tasks将集成到整个GCP服务范围内。Cloud Tasks的文档描述了一些典型的用例,包括加速用户体验、在发生事件期间提供持久性以及平缓流量峰值。

通过将可能较慢的后台操作(如数据库更新)委派给进程服务来加快响应速度;

在发生意外事件的情况下保留请求;

将非面向用户的任务从用户请求流程中移除,以此来实现平缓流量高峰。

由于Cloud Tasks是一种托管服务,它负责资源的配置和管理,让开发人员可以专注于创建和处理其他任务。此外,Cloud Tasks根据实际执行时间计费。客户端库由谷歌提供,支持Java、Python、Node.js、PHP和Go等几种流行语言,同时还提供了REST API,可以从任何应用程序中将任务添加到队列。

来源:https://cloud.google.com/blog/products/application-development/announcing-cloud-tasks-a-task-queue-service-for-app-engine-flex-and-second-generation-runtimes

要使用Cloud Tasks,需要执行几个步骤。从创建任务队列开始,在创建好队列后,发布任务的应用程序就会将任务推送到队列中,队列存储消息并返回OK。随后,Cloud Tasks服务将任务发送给后台的处理应用程序进行处理。任务处理完成后,后台程序将OK作为200到299之间的HTTP状态码发送回队列,队列将对应的任务移除。此外,如果处理程序未及时处理完任务,Cloud Tasks将自动再次发送任务,提供重试和至少一次交付的能力。

查看英文原文Google Announces Task Queue Service Cloud Tasks

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT