我们为客户建立了一个市场,我们的数据库中有数十万家公司,他们将添加带有许多文件(图像、视频等)的产品。个人用户也可以发送照片。
我们项目的不同部分根据不同的内容使用centos +whm (nginx+cassandra+mysql+redis+nodejs+php+java)。
对于主要软件,我们使用 mysql 和 cassandra 作为数据库服务器,在 php7 代码和数据库服务器(已经扩展)之间有 restful java webservices。nodejs+redis+cassandra(用于聊天)
我们在缩放信息方面没有问题,但现在我们必须决定如何缩放对象。我们工作的公司为我们获得的每台服务器提供 10TB 带宽。如果我们考虑与亚马逊或其他云服务合作,仅对 10TB 带宽他们会收取很多费用,另一方面在这种情况下我们将有另一台服务器也将用于其他问题。因此,拥有服务器而不是云存储似乎更好。
现在我的问题是我们应该如何处理静态文件?最好的解决方案是什么。
为每个新服务器创建具有子域的节点,例如 static1.domain.com、static2.domain.com。并将图像位置添加到数据库以显示图像的位置。在这种情况下,对于上传,我们总是需要在每个服务器已满后更改目标安装磁盘。我们还将使用 CDN 来降低服务器负载。
最适合我们情况的架构是什么?谢谢
最佳答案
Amazon Web Services (s3) 中只有一个选项。那不是文件系统,但您可以将静态文件存储在该 s3 存储桶中。它将根据数据大小和数据 99.99999999999% 的可用性自动增加/减少存储大小。
马来西亚, AWS-s3
关于linux - 在 centos whm 和 nginx 网络服务器上扩展文件系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43414307/