服务器由单机转换为负载均衡时需要做哪些处理?

最近公司的服务器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地址是不准确的,可以参考如下代码来进行获取:

<?php

// 定义一个函数getIP()
function getIP()
{
	
	if (getenv("HTTP_CLIENT_IP"))
		$ip = getenv("HTTP_CLIENT_IP");
	else if(getenv("HTTP_X_FORWARDED_FOR"))
		$ip = getenv("HTTP_X_FORWARDED_FOR");
	else if(getenv("REMOTE_ADDR"))
		$ip = getenv("REMOTE_ADDR");
	else 
		$ip = "Unknow";
		
	return $ip;
}

// 使用方法:
echo getIP();

?>


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值