Google发表非同步任务伫列服务Cloud Tasks

社会动态2021-02-27 08:04:20
最佳答案

Google发布无伺服器非同步任务执行服务Cloud Tasks,允许使用者把在任意地方执行的应用程式,透过标準API将任务增加到伫列当中。

非同步任务执行服务Cloud Tasks提供分散式任务伫列(Task Queue),是一个完全託管的服务,让使用者可以管理、分派以及交付大量的分散式任务。非同步执行的特性带来的其中一个好处,便是能减少请求延迟,并且使应用程式更具回应性。Cloud Tasks能让使用者组织并控制请求,进行排程、删除重複资料、配置重试政策还有版本重新导向。

Cloud Tasks可以利用App Engine标準且灵活的环境,实现无伺服器的任务执行,还可以帮助使用者卸载长时间或是背景执行的工作,透过让服务相互独立,使应用程式更加容错。Google提到,之所以Cloud Tasks可以提供服务良好的容错能力,是因为Cloud Tasks能在服务运作过程保留请求,进行暂停、重试或是重新导向到新的应用程式版本,这样使用者便有空间处理臭虫,或是在应用程式部署阶段,继续处理所有请求。

另外,Cloud Tasks也能让应用程式拥有更好的结构以及扩展能力,在为特定服务实作任务处理程序的时候,将能允许微服务独立扩展,而且透过限制伫列,Cloud Tasks就能良好的控制服务负载,帮助使用者执行、调度以及交付分散式任务。

Google前些时日释出了新一代Runtime,允许使用者在不受框架和函示库的限制,建构执行热门程式语言的应用程式。为了让这些Runtime更具可扩展性和开放,Google结合Cloud Tasks与App Engine协同工作,支援数千个现有应用程式。

Cloud Tasks以推送伫列形式运作,任务根据路由配置分配给工作服务,这些工作服务会尝试处理这些任务,当处理失败则会将HTTP错误码回传给Cloud Tasks,在暂停一段时间后,重新执行该任务,直到最大的尝试次数,而当执行成功时,工作服务便会回传2xx成功执行代码给Cloud Tasks。

过去App Engine用户使用支援非同步任务执行的任务伫列(Task Queue)工作,而在Cloud Tasks发布后,Task Queue的所有管理功能都集中整合到Cloud Tasks控制台、命令列和API中,虽然如此,现有的App Engine使用者仍然可以选择使用App Engine SDK来管理原有的任务。

目前Cloud Tasks已开发给所有GCP用户进行测试。

免责声明:本文由用户上传,如有侵权请联系删除!