繁体   English   中英

在负载平衡上快速上传文件?

[英]Express upload a file on load balancing?

最近我在 node js 中制作了一个具有负载平衡功能的应用程序。 我为数据库本身和其他管理请求制作了一个服务器。 问题是,在应用程序中,您可以使用 multer 上传文件,并在 express 中将文件上传到该服务器。 它是一个明确的静态。

例如,我有 4 台服务器,一台用于数据库,2 台用于应用程序,1 台用于负载平衡器。 当负载均衡器向 app-1 服务器请求时,文件上传到 app-1 服务器而不是 db 服务器。 因此,当我尝试从 app-2 服务器访问该文件时,该文件不存在。

有没有办法解决这个问题? 或者更好的方式来使用负载均衡器? 因为我是负载平衡器的新手。 谢谢

你通过app-1上传的文件存放在哪里? 例如,您可以将其存储在存储桶中,并将引用保留在您的 SQL 数据库中。 因此,当 app-2 尝试访问该文件时,它会直接询问在您的应用程序之间共享的数据库。

要回答您的问题,您有两种解决方案:

  • 使用负载均衡器维护会话持久性,因此向 app-1 发出请求的用户会一直向 app-1 发出请求,直到其会话过期。
  • 具有无状态后端设计,这意味着您不需要会话,因此任何用户都可以向您拥有的任何app实例发送请求,它的行为将相同。

我会选择解决方案 2,在您了解无状态概念后会更容易。

拥有外部存储桶而不依赖于您的app内部内存和存储系统是实现无状态架构的好方法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM