-
tcp负载和http负载
-
http负载后台服务器的健康检测
检测路由为http://后台服务器ip:端口/心跳检测路由
如果没有写心跳检测路由的话,检测路由就是http://后台服务器ip:端口/,如果该路由能返回http code 2xx则代码检测成功,如果http code为5xx则代表检测失败。
总结:检测方法就是http://后台服务器ip:端口/(心跳检测路由),如果能返回2xx则成功,如果5xx则失败
- api服务配置auth2.0验证
现象:slb负载了2台api服务器,进入登录页面输入账号密码提示登录成功,且进入系统后立即报auth2.0验证失败问题,系统又自动退出。
分析:由于后端服务器使用了auth2.0验证,每个接口头必须验证header里面的access_token,且auth只会把access_token存放到本地机器上。
用户的登录请求比如分发到A机器上,A机器然后验证成功,access_token存放到了A机器上,登录系统之后,又一个请求,比如首页请求分此时发到了B机器上(因为请求均衡分发),此时header头里的access_token在B机器上验证,此时由于B机器上并没有存放access_token,所以验证失败,系统登出。
解决方法;
- 负载均衡配置会话保持,也就是同一个ip会保存一个cookie,同一个cookie的请求会定位到相同的机器上,也就解决了上述问题
- 把验证服务单独拿出来,可机器间共享。此时需要一套验证服务












网友评论