在Cloud Run中将共享的缓存对象存储在哪里?

AIK做

我正在使用Cloud Run创建数据提取管道。每当通过Pub Sub将文件放入GCS存储桶中时,都会调用My Cloud Run api。我需要加载一些元数据,其中包含我正在提取的数据的文本。此元数据很少更改。我显然不想在每次执行时将其重新加载到内存中。我最好的选择是什么?到目前为止,我能够研究的是:

选项1

如果在每个服务请求上重新创建对象的开销很大,则还可以将对象缓存在内存中。将其从请求逻辑移到全局范围可提高性能。https://cloud.google.com/run/docs/tips#run_tips_global_scope-java

在此链接给出的示例中,heavyComputation函数在冷启动时是否仅被调用一次?如果在元数据更新后偶尔需要重新触发此功能该怎么办。我还发现以下令人不安的信息,似乎无法保证其他实例是否可以重用该对象。

在Cloud Run中,您不能假定服务状态在请求之间保留。但是,Cloud Run确实重用了各个容器实例来提供持续的流量,因此您可以在全局范围内声明一个变量,以允许其值在后续调用中被重用。事先无法知道是否有任何单独的请求能从重用中受益。

选项2

每当有更改时,请使用由云功能更新的Redis或Cloud Memory Store之类的东西。所有云实例都从Redis运行api提取元数据信息。这会比选择1的性能差多少?还有其他不利之处吗?

如果还有其他更好的方法,我将非常感兴趣。

更新1:我考虑了很多,因为每个租户的元数据都将有所不同,并且每次对云运行代码的调用都将为一个租户摄取一个文件,所以加载所有租户是一个坏主意每次执行时即使已缓存元数据,也是如此。我可能会在每个租户的项目中运行单独的云。

丹尼尔·奥坎多(Daniel Ocando)

关于第一个选项(选项1):

heavyComputation()功能在这里将只在冷启动时被调用,每一个新的时间云中运行的容器实例被创建时(超过可并行发送到指定容器实例的请求的最大数量,因此新instnace创建)。

为了解决第二个选项(选项2):

到目前为止,Cloud Run(完全托管)不支持无服务器VPC访问,因此不可能连接到Cloud Memorystore。监视以下功能请求,以从Cloud Run产品团队获取所有相关信息和更新,以检查该功能何时可用。

你可以找到一些这方面的解决方法和已经提到的功能要求。它们基本上包括:

  1. 将Google Kubernetes Engine集群与Cloud Run结合使用
  2. 在Compute Engine上设置Redis实例。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

我的Google Cloud Storage存储桶中的文件在哪里?

来自分类Dev

使缓存存储在哪里?

来自分类Dev

AngularJS HTTP在缓存对象时将对象存储在哪里?

来自分类Dev

在Grails中将对象缓存放在哪里?

来自分类Dev

在Grails中将对象缓存放在哪里?

来自分类Dev

Cloud9-在哪里打开.profile?

来自分类Dev

在哪里保存Azure Cloud Storage凭据

来自分类Dev

Cloud9-在哪里打开.profile?

来自分类Dev

Chrome会在哪里存储使用Windows 7上的Amazon-Cloud Extension下载的脱机图书?

来自分类Dev

在登录到Google Cloud Compute实例后进行安装时,数据存储在哪里?

来自分类Dev

Google Cloud Run /挂载Google存储桶

来自分类Dev

Android在哪里存储缓存的数据?

来自分类Dev

播放框架缓存存储在哪里?

来自分类Dev

AngularJS在哪里存储缓存数据

来自分类Dev

Knitr缓存的输出存储在哪里?

来自分类Dev

AngularJS在哪里存储缓存数据

来自分类Dev

播放框架缓存存储在哪里?

来自分类Dev

juju在哪里存储其缓存

来自分类Dev

Google Cloud Datastore:存储数组和对象

来自分类Dev

Yandex Cloud对象存储中的粒度权限

来自分类Dev

coreOS中的cloud-config.yml在哪里?

来自分类Dev

Google Cloud ML控制台用户界面在哪里?

来自分类Dev

Cloud 9 ace编辑器配置在哪里放置?

来自分类Dev

在哪里可以在 Google Cloud Platform 上运行连续作业?

来自分类Dev

在哪里可以找到旧版 google-cloud-python 的文档?

来自分类Dev

如何为Cloud Build用于Cloud Run部署的Cloud Storage存储桶指定区域?

来自分类Dev

定制R在哪里寻找共享对象?

来自分类Dev

在ThemeData中将阴影颜色存储在哪里?

来自分类Dev

与Spring Cloud Config共享的属性

Related 相关文章

热门标签

归档