原文:http://blog.youkuaiyun.com/u011250882/article/details/48174287
服务器由单机转换为负载均衡时需要做哪些处理?
最近公司的服务器PHP版本升级,之前是一台服务器,为了提供服务器的压力承载性能,做了负载均衡,变成了多台服务器轮询。那么在这种场景下的升级,对于开发人员而言需要注意些什么呢?
1、文件上传
这是第一个需要检查的方面,通常情况下网站上或多或少都存在文件上传功能,而文件上传一般只是上传到单台服务器上,所以第一个要处理的就是文件上传。
解决方案:
①、使用云服务,这个解决方案也正是我们公司目前采用的,将文件上传到云服务器上,例如国内较为知名的七牛云等。
②、如果你使用的是mongodb数据库,你可以选择将文件上传到GridFS中(之前那家公司就是这样做的)
2、session
如果有深入了解过session的机制的话,应该知道session是存储在服务器端,通过cookie中存储的PHPSESSIONID(可在php.ini文件中进行修改)来找寻到特定的session文件,这种存储方式在多机模式下又出现了问题。
解决方案如下:
①、使用数据库存储session
②、使用redis存储session(推荐方式)
③、使用memcache存储session
3、ip的获取
在php中通常用$_SERVER['REMOTE_ADDR]来获取服务器端的ip地址,由于负载均衡使用了反向代理技术,所以用这种方式获取到的ip地址是不准确的,可以参考如下代码来进行获取: