最近,我在Node js中制作了一个具有负载平衡功能的应用程序。我为数据库本身和其他用于管理请求的服务器做了一个服务器。问题是,在应用程序中,您可以使用multer上传文件,并且明确地说,您将文件上传到该服务器。它是一个静态的表达。
例如,我有4台服务器,一台用于db,2台用于应用程序,1台用于负载均衡器。 当负载均衡器请求到app-1服务器时,文件上传到app-1服务器而不是数据库服务器。因此,当我尝试从app-2服务器访问文件时,文件不存在。
有什么办法可以解决这个问题? 还是使用负载平衡器的更好方法? 因为我是负载平衡器的新手。谢谢
答案 0 :(得分:0)
您将在哪里存储通过app-1上传的文件?例如,您可以将其存储在存储桶中,并将引用保留在SQL DB中。因此,当app-2尝试访问文件时,它会直接询问数据库,该数据库在您的应用程序之间共享。
要回答您的问题,您有2种解决方案:
app
实例发送请求,其行为将相同。我会采用解决方案2,在您解决无状态概念之后会更容易。
拥有外部存储桶并且不依赖于app
内部存储器和存储系统是实现无状态架构的好方法。