正如谷歌宣布的那样,它的新服务云运行在谷歌云平台上。谷歌表示,作为无服务器技术,这是可伸缩的。它与无服务器技术有何不同,它将如何进行扩展?
发布于 2019-04-16 16:41:11
云运行是建立在基恩 (一个开源无服务器平台)之上的无服务器服务。它与大多数无服务器技术不同,因为它没有任何编程语言限制(请参阅文档)。
托管云运行(而不是GKE上的云运行)的缩放是基于concurrency的,或者是服务可以同时处理的多个并发请求。
您也只在实例处理任何请求的时间计费。如果您的实例在10秒内响应100个请求,您将只收到这10秒的账单。(但是,如果只有一个请求运行10秒,您也会被计费10秒,所以要小心实例缩放)。(定价)
这是第一个版本,所以仍然有许多限制(比如不能使用连接到Cloud,我写了一篇关于它的文章)。您可以看到支持的服务这里的完整列表。
发布于 2019-05-20 16:52:02
我刚刚看到了这个答案,并想纠正它:谷歌的云运行是使用谷歌的内部无服务器技术(而不是K本地OSS实现)的K本地API的重新实现。
谷歌的内部技术在很大程度上依赖于其他非开放源码软件功能(Stubby、Borg、LOAS等),但也证明了多租户和扩展能力,这意味着我们(Google)采用了一种双管齐下的方法--在今天的基础设施上构建OSS接口和实现,同时还提供了一种与Lambda体验更接近的托管服务。Google还提供了云运行在GKE上,GKE确实运行了开放源码软件( OSS ),并将其打包成适合GCP的软件。请参阅选择适合您在云运行营销页面上的部分的平台,以获得两者之间的功能比较。
Cloud的定价模型基于实例CPU秒和RAM使用情况;您可以选择每个容器可以运行多少并发请求(对于K天生和Cloud ) --这决定了创建多少实例来处理请求。(请注意,Lambda基本上强制这个数字为1-不允许并发。)
如果每秒有100个请求,并且每个请求花费3秒,那么在不同的并发性下,将有以下实例计数:
您应该根据应用程序一次能够处理多少请求而不降低延迟来设置ConcurrencyCount;这可能需要一些实验。默认情况下,应用程序运行良好,这些应用程序主要从一两个数据库获取数据,然后进行少量的处理。如果你正在接收一个视频,然后在本地转码,像1或2这样的东西会更有意义。
https://stackoverflow.com/questions/55708647
复制相似问题