Nginx 多个GCE虚拟机的共享存储

Nginx 多个GCE虚拟机的共享存储,nginx,google-cloud-platform,google-cloud-storage,google-compute-engine,Nginx,Google Cloud Platform,Google Cloud Storage,Google Compute Engine,/*我是新来的,我做了几天的研究*/ 与多个自动缩放Google计算引擎VM共享文件的最佳做法是什么 我计划用NGINX建立一个vm实例组,用于为多个域提供静态文件。这些虚拟机将自动缩放到n(自身倍增),文件将发生很大变化。我需要一个存储这些虚拟机将服务的文件 到目前为止,我已经找到了以下解决方案: 1)持久磁盘+rsync->这应该具有最小的延迟,但当我达到GBs的文件时,自动缩放的虚拟机在生成后会同步很长一段时间,从而抛出404s 2)主虚拟机没有web服务器+nfs/smb->延迟小,但没

/*我是新来的,我做了几天的研究*/

与多个自动缩放Google计算引擎VM共享文件的最佳做法是什么

我计划用NGINX建立一个vm实例组,用于为多个域提供静态文件。这些虚拟机将自动缩放到n(自身倍增),文件将发生很大变化。我需要一个存储这些虚拟机将服务的文件

到目前为止,我已经找到了以下解决方案:

1)持久磁盘+rsync->这应该具有最小的延迟,但当我达到GBs的文件时,自动缩放的虚拟机在生成后会同步很长一段时间,从而抛出404s

2)主虚拟机没有web服务器+nfs/smb->延迟小,但没有冗余

3)云存储+FUSE->延迟大,冗余大,无SLA

4)共享持久磁盘->延迟小,但为只读

5)NGINX+Cloud-SQL/Bigtable/panner/Datastore->Mehish延迟,我对将web服务器连接到数据库感觉不太好

还有其他更好的解决方案吗

谢谢

编辑:静态文件是多个index.html文件->多个域的主页。

还有:

6)Firebase托管-

7)另一种方式-我个人会选择云存储,但不会选择FUSE。或者至少不是为了服务。您仍然可以使用FUSE写入存储桶。当然,最好的方法是在应用程序中使用云存储API

用于提供文件:

我将创建一个负载平衡器,其中包含一个后端存储桶与应用程序写入的存储桶相同。还要注意在该负载平衡器上启用云CDN

更多详细信息,请访问:

负载平衡器-

云CDN-


或者干脆大胆一点,现在就在

创建一个负载平衡器,为静态文件提供服务。最好肯定是使用负载平衡器后端存储桶,并启用云CDN。 负载平衡器具有转发流量的规则。例如,它可以按主机、子域或路径拦截所有请求

*.mysite1.com    => bucket1
demo.mysite2.net => bucket1
test.mysite3.com => bucket2
由于文件由云CDN提供,因此延迟变得最小。 为了将文件写入存储桶,您可以使用FUSE,或者在本地创建文件并使用
gsutil cp

在读取模式下,只能在多个计算引擎内共享持久磁盘。如果您需要写入模式,它将无法工作

最后一个选项cloudsql+Nginx实际上相当不错。云SQL比Mysql服务器快得多。云sql和gce之间的连接简单可靠。
但这里更多的是偏好的问题。。。如果您对编写脚本感到满意,那么您可以阅读和编写脚本。

您好,感谢您的快速回复。负载平衡器+后端bucket如何处理多个域?对于没有FUSE的NGINX+云存储,这是我可以使用的吗?没有必要这么做
NGINX+云存储
。。。这是云CDN的工作!首先,我认为这将是一个交易破坏者,但在玩了云存储+云CDN之后,我发现不能让多个域指向一个bucket。存在1个唯一域:1个bucket策略,在通过TXT记录创建bucket时,您必须手动验证域的所有权,并且bucket必须保存FQDN,否则它将不提供index.html:(嗨,Vincent,玩过之后,我发现如果你需要提供(一个或多个)index.html,就不可能将多个域指向一个bucket。每个域都需要自己的bucket。没错,每个bucket或每个子文件夹只能有一个index.html