为了账号安全,请及时绑定邮箱和手机立即绑定

Express上传文件就负载均衡?

Express上传文件就负载均衡?

DIEA 2023-07-20 11:06:23
最近我在 Node js 中制作了一个具有负载平衡功能的应用程序。我为数据库本身创建了一个服务器,并为其他管理请求创建了一个服务器。问题是,在应用程序中,您可以使用 multer 上传文件,而在 Express 中,您可以将文件上传到该服务器。它是一个明确的静态。例如,我有 4 台服务器,一台用于数据库,2 台用于应用程序,1 台用于负载均衡器。当负载均衡器请求app-1服务器时,文件上传到app-1服务器而不是db服务器。因此,当我尝试从 app-2 服务器访问该文件时,该文件不存在。有什么办法可以解决这个问题吗?或者使用负载均衡器的更好方法?因为我是负载均衡器的新手。谢谢
查看完整描述

1 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

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

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

  • 使用负载均衡器维护会话持久性,以便请求 app-1 的用户不断请求 app-1,直到其会话过期。

  • 具有无状态后端设计,这意味着您不需要会话,因此任何用户都可以向app您拥有的任何实例发送请求,它的行为是相同的。

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

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


查看完整回答
反对 回复 2023-07-20
  • 1 回答
  • 0 关注
  • 66 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信