首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在J弹性/PHP中,单个节点上的多个cloudlets是否共享一个文件空间?

在J弹性/PHP中,单个节点上的多个cloudlets是否共享一个文件空间?
EN

Stack Overflow用户
提问于 2014-02-04 22:16:37
回答 2查看 766关注 0票数 3

我使用J弹性托管PHP应用程序。编辑器可以通过存储在文件系统中的应用程序上传图片。这些图片存储在文档根目录中,并以例如http://example.com/uploads/123/picture.jpeg的形式提供给前端

对于NGinx应用服务器,我启用了垂直缩放,但只有一个节点,即没有横向缩放。

图片上传不可靠。当我通过PHP管理界面更新图片#1,然后更新另一个图片时,图片#1已更改为旧图片。

我的问题是:图片上传是否在一个节点上跨多个云端同步?如果水平缩放到多个节点,会发生什么情况?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-02-05 11:04:55

我的问题是:图片上传是否在一个节点上跨多个云端同步?

我认为这里有一个术语问题。

Cloudlet:由RAM和CPU使用组成的复合资源单元。1 Cloudlet =128 and和大约。200 CPU服务器通常使用多个云;例如,它可以在任何给定时刻使用多个GB和/或几个GHz CPU。

关于http://kb.layershift.com/introducing-cloudlets的更多细节

每个节点都是一个独立的(虚拟)服务器,具有自己的文件系统。因此,如果您有一个NGINX应用服务器,那么它使用1或100个cloudlets并不重要(请记住,这只是对RAM和CPU消耗的度量!),它有一个文件系统,您在那里成功编写的所有文件都可以用于任何后续请求。

如果水平缩放到多个节点,会发生什么情况?

好吧,你得小心点。如果您的应用程序正在写入本地文件系统,则在处理多个水平缩放服务器时会遇到问题。这是一个非常典型的缩放问题,每个应用程序都必须处理这个问题。

如果我们只是讨论静态资源(例如图像),那么处理这个问题的最好和最简单的方法之一就是将所有这些上传到一个服务器上。例如,如果您有4台NGINX PHP服务器(假设它们负载平衡您的-application.com),您可能会生成其中一台服务器(或者是完全独立的环境)映像。

因此,您将上传到Images.you-application.com,当您希望显示这些上传的图像时,直接在HTML中引用它。

记住,Images.you-application.com只负责为实际图像提供服务;因此它非常轻巧,应该只需垂直缩放就可以处理一个像样的音量--这在J弹性上是完全自动的。

当您需要缩放images.your-application.com时,最简单的方法是使用CDN服务(CloudFlare、Incapsula等)。这将只剩下Images.youapplication.com处理上传和少量的下载流量,而CDN上还没有缓存这些信息。

票数 7
EN

Stack Overflow用户

发布于 2016-01-13 23:31:06

有同样的问题,请阅读这个弹力教程

总之,j弹性有一个脚本,它可以帮助您完成自组化,您只需执行脚本并指示要在所有节点中同步的文件夹。

然后,每次将文件上传到这些文件夹时,文件在几秒钟或几分钟内将对所有节点可用;时间取决于文件大小。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21564685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档