谷歌云的Cloud Run与无人技术的区别在于它的可扩展性如何?

问题描述 投票:0回答:2

谷歌宣布它将在谷歌云平台上运行新的服务云。谷歌称这可以作为无服务器技术扩展。它与无服务器技术有何不同以及它如何可扩展?

amazon-web-services docker google-cloud-platform devops serverless
2个回答
0
投票

Cloud Run是一种基于Knative(开源无服务器平台)的无服务器产品。它与大多数无服务器技术不同,因为它没有任何编程语言限制(请参阅docs)。

托管云运行(不是GKE上的云运行)的扩展基于concurrency,或者您的服务可以同时处理的多个并发请求。

您也只会在实例处理任何请求时收费。如果您的实例在10秒内响应100个请求,那么您只需支付10秒钟的费用。 (但是,如果只有1个请求运行10秒,您也将被收取10秒钟的费用,因此请注意实例缩放)。 (pricing

这是第一个版本,因此仍有许多限制(如无法使用connect to Cloud SQL which I wrote an article about)。您可以查看支持的服务here的完整列表


0
投票

我刚刚看到了这个答案并希望纠正它:Google的Cloud Run是使用Google内部无服务器技术(而不是Knative OSS实现)重新实现Knative API。

Google的内部技术对其他非OSS功能(Stubby,Borg,LOAS等)有很多依赖性,但也具有经过验证的多租户和扩展功能,这意味着我们(Google)采用了双管齐下的方法 - 构建OSS界面和当今基础架构的实施,同时还提供了更接近Lambda体验的托管服务。谷歌还提供Cloud Run on GKE,它运行OSS软件,打包以适应GCP。有关两者之间的功能比较,请参阅Cloud Run marketing page上的选择适合您的平台部分。

Cloud Run的定价模型基于实例CPU秒和RAM使用情况;您可以选择(对于Knative和Cloud Run)每个容器可以运行多少并发请求 - 这将确定将创建多少个实例来处理请求。 (请注意,Lambda基本上强制此数字为1 - 不允许并发。)

如果您每秒有100个请求,并且每个请求需要3秒,那么您将在不同的并发性中获得以下实例计数:

  • ConcurrencyCount = 1:300个实例
  • ConcurrencyCount = 10:30个实例
  • ConcurrencyCount = 80:4个实例(默认值)
  • ConcurrencyCount = 200:2个实例
  • ConcurrencyCount = 300:1个实例

您应该根据应用程序可以处理的请求数来设置ConcurrencyCount,而不会立即降低延迟;这可能需要一些实验。默认情况适用于主要从一两个数据库中获取数据然后执行少量处理的应用程序。如果您正在接收视频,然后在本地对其进行转码,那么1或2之类的内容将更有意义。

© www.soinside.com 2019 - 2024. All rights reserved.