云 运行 虚拟主机限制
Cloud Run Web Hosting limitation
我正在考虑将云 运行 用于网络托管,而不是复杂的计算引擎。
我只想用 node.js 做一个 api。听说还有自动负载均衡。如果是,100万人的并发流量不配置有问题吗? (数据库服务器在其他地方(像 cockroachDB 一样是无服务器的)
或者我是否必须配置各种复杂的设置,如 aws ec2 或 gce?
对于此类流量,开箱即用的配置必须进行微调。
首先,云 运行 上的 concurrency parameter。此参数指示每个实例可以处理多少个并发请求。默认值为80,每个实例最多可以设置1000个并发请求。
当然,如果您每个实例处理 1000 个并发请求(或更少),您应该需要更多 CPU and Memory。您还可以使用这些参数
您还必须更改 max instance limit。默认情况下,您限制为 1000。
如果设置1000个并发请求和1000个实例,则可以处理100万个并发请求。
但是,您没有太多余地,或者您的实例有 1000 个并发请求,即使在最大 CPU 和内存的情况下也可能会遇到困难。
您可以通过配额增加请求请求超过 1000 个实例。
您还可以进行不同的优化,尤其是当您的 100 万用户不在同一 country/Google 云区域时。如果是这样,您可以部署一个 HTTPS load balancer in front of your cloud run service 并将其部署在您的用户的所有区域。 (不同地域部署的云运行服务必须同名)
这样,它不仅需要吸收 100 万用户的一项服务,而且需要在不同地区提供多项服务。此外,HTTPS 负载平衡器将请求路由到最近的区域,因此您可以优化延迟并减少 egress/cross 区域流量。
我正在考虑将云 运行 用于网络托管,而不是复杂的计算引擎。
我只想用 node.js 做一个 api。听说还有自动负载均衡。如果是,100万人的并发流量不配置有问题吗? (数据库服务器在其他地方(像 cockroachDB 一样是无服务器的)
或者我是否必须配置各种复杂的设置,如 aws ec2 或 gce?
对于此类流量,开箱即用的配置必须进行微调。
首先,云 运行 上的 concurrency parameter。此参数指示每个实例可以处理多少个并发请求。默认值为80,每个实例最多可以设置1000个并发请求。
当然,如果您每个实例处理 1000 个并发请求(或更少),您应该需要更多 CPU and Memory。您还可以使用这些参数
您还必须更改 max instance limit。默认情况下,您限制为 1000。
如果设置1000个并发请求和1000个实例,则可以处理100万个并发请求。
但是,您没有太多余地,或者您的实例有 1000 个并发请求,即使在最大 CPU 和内存的情况下也可能会遇到困难。
您可以通过配额增加请求请求超过 1000 个实例。
您还可以进行不同的优化,尤其是当您的 100 万用户不在同一 country/Google 云区域时。如果是这样,您可以部署一个 HTTPS load balancer in front of your cloud run service 并将其部署在您的用户的所有区域。 (不同地域部署的云运行服务必须同名)
这样,它不仅需要吸收 100 万用户的一项服务,而且需要在不同地区提供多项服务。此外,HTTPS 负载平衡器将请求路由到最近的区域,因此您可以优化延迟并减少 egress/cross 区域流量。