![如何在多服务器设置中访问和存储数据](https://linux22.com/image/574694/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%A4%9A%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%AE%BE%E7%BD%AE%E4%B8%AD%E8%AE%BF%E9%97%AE%E5%92%8C%E5%AD%98%E5%82%A8%E6%95%B0%E6%8D%AE.png)
我的应用程序使用 RESTful api 接收用户的请求并按需生成文件。生成文件后,它会返回该文件的 dl 链接。
当在单台服务器上设置时,我不必担心选择正确的服务器来上传文件,因为文件是在同一台服务器上生成和存储的。
但是在多服务器设置中,请求可以发送到服务器 A,存储在服务器 A 上,然后用户通过服务器 B(没有文件)连接到 dl 链接。
到目前为止,我已经想到了几个想法,但我希望得到您的建议,关于该怎么做以及/或者其他网站如何做到这一点。
思路:
- 让所有服务器将所述文件写入专用的“存储”服务器,从该服务器提供下载链接。
- 在文件名末尾附加一个键,代表该文件位于哪个服务器上。
答案1
您希望为此使用集中存储。
从长远来看,尝试在服务器之间同步上传的文件是不切实际的。尤其是当有大量文件需要处理时。
在 $work 我们有 10 个 Web 服务器,它们都使用同一个文件服务器来读取文件和保存文件。(不过读比写多。)
此文件服务器使用以下方式复制到热备用文件服务器:DRBD在主/从设置中。