当前位置: 海之晶网站设计> 建站知识> 常见问题>通过aws3在多个服务器之间共享数据

通过aws3在多个服务器之间共享数据

文章出处:网站建设-海之晶网络 | 网站编辑:网站设计 | 发表时间:2020/9/17 17:04:08
分享:

当提供一些功能来处理用户上载的文件时,该文件必须在整个执行过程中对进程可用。简单的上传和保存操作不会产生任何问题。但是,如果在保存文件之前必须对其进行操作,并且应用程序在负载平衡器后面的多个服务器上运行,则我们需要确保文件对每次运行该进程的服务器都可用。

例如,多步“上载用户头像”功能可能需要用户在第一步上传头像,在第二步裁剪,最后在第三步保存。在步骤1将文件上载到服务器后,该文件必须对处理步骤2和步骤3请求的任何服务器可用,这两个步骤可能是或可能不是步骤1中的同一个。

一个幼稚的方法是将步骤1中上载的文件复制到所有其他服务器,以便文件在所有其他服务器上都可用。然而,这种方法不仅极其复杂,而且不可行:例如,如果站点运行在来自多个区域的数百台服务器上,则无法实现。

一个可能的解决方案是在负载平衡器上启用“粘滞会话”,负载平衡器将始终为给定会话分配相同的服务器。然后,步骤1、2和3将由同一服务器处理,步骤1上载到该服务器的文件在步骤2和3中仍将存在。然而,粘性会话并不完全可靠:如果在步骤1和步骤2之间服务器崩溃,那么负载平衡器将不得不分配一个不同的服务器,从而中断功能和用户体验。同样,在特殊情况下,总是为会话分配相同的服务器可能会导致负载过重的服务器的响应时间变慢

关键字:
南京市汉中路1号国际金融中心9楼
建站热线:13815417591
免责声明: 本站部分内容来源于互联网,如果本站部分内容侵犯您的权益,请您告知,站长会立即处理。