快速上传文件来实现负载平衡吗?

时间:2020-11-09 12:47:46

标签: javascript node.js express load-balancing multer

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

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

有什么办法可以解决这个问题? 还是使用负载平衡器的更好方法? 因为我是负载平衡器的新手。谢谢

1 个答案:

答案 0 :(得分:0)

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

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

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

我会采用解决方案2,在您解决无状态概念之后会更容易。

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