作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已在 AWS 云上托管了我的应用程序,负载均衡器运行在两个实例之上,这两个实例由 Php7.0-fpm 之上的 Nginx 提供服务。假设我的应用程序下载一个文件并将其存储在本地,以便可以将内容提供给客户。具有弹性伸缩组,配置两个实例;
1) 如果我的 session 从下载文件的实例 1 开始,然后突然切换到实例 2,我会获得相同的内容吗?
或者
2) 如果在单个实例上创建 session ,在我注销应用程序之前是否会使用同一个实例?
非常感谢任何帮助!!
最佳答案
对于具有超过 1 个实例(负载均衡)的网站,强烈建议您将缓存和 session 存储在 1 个位置,而不是多个位置。为此,您可以在所有服务器上安装 memcached
并将它们配置为将它们指向 1 个服务器来存储所有内容。
SESSION_DRIVER=memcached
CACHE_DRIVER= memcached
MEMCACHED_HOST=127.0.0.1 #on your memcache server, point to localhost
MEMCACHED_HOST=10.10.1.10 #on other instances, point to memcache server
MEMCACHED_PORT=11211
对于文件和图像上传,使用AWS的S3或带有FTP的专用存储服务器来存储,以便所有服务器都可以直接以相同的方式访问它。最简单、最有效:)
如果您将它们存储在本地,您的服务器将不会与相同的内容同步,并且您的用户最终会遇到 404 错误。
关于Laravel 应用程序和负载均衡器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50191743/
我是一名优秀的程序员,十分优秀!