一、背景
1 后台负载均衡的原理:后台部署多台服务器(比如说Tomcat的),通过Nginx分发用户的请求到各个服务器。分发的策略可能是根据用户ID除以服务器的台数N,根据余数的不同选择分发到不同的服务器,通过查看服务器上的日志,确定该服务是否相应了对应的用户请求。响应正确,但可能不是对应的服务器给的,所以要关注日志。
2 环境异常:服务器A处理a类用户的请求。在分发的过程中,服务器A可能出现了问题,不能响应对应的a类用户的请求。一般运维会提供解决策略,其他台服务器B处理该a类用户的请求,服务器A好了后能继续处理又一个a类用户请求。
二、举例
某后台有3台Tocat服务器:Tomcat1 Tomcat2 Tomcat3
分发的规则:
UserID除以3的余数,如果是0,Tomcat1响应该请求
UserID除以3的余数,如果是1,Tomcat2响应该请求
UserID除以3的余数,如果是2,Tomcat3响应该请求
测试请求是否正常响应,服务器上的日志是否对应该类用户请求。
UserID=1,预期Tomcat2响应该请求
UserID=2,预期Tomcat3响应该请求,刚好把Tomcat3弄挂了
UserID=3,预期Tomcat0响应该请求
UserID=4,预期Tomcat2响应该请求
UserID=5,预期Tomcat2响应该请求(Tomcat3正在抢修中,无法处理。Tomcat2替换)
UserID=6,预期Tomcat0响应该请求
UserID=7,预期Tomcat2响应该请求
UserID=8,预期Tomcat3响应该请求,Tomcat3正常,继续处理请求
网友评论