为了应对高并发,我们引入了负载均衡,就是将原本需要一台服务器处理的业务,分配给了多台服务器进行处理,而分配的规则就是SLB算法。
SLB(server load balance)是负载均衡的缩写。
负载均衡主要有三种算法:
①轮训法
通过将用户的请求轮流分配给配置好的服务器进行解析
②随机法
通过随机因子分配给不同的服务器,通过分散性,达到均衡
③最小连接法
通过选择最少连接的服务器进行分配,就是能者多劳
负载均衡主要有三种实现方法:
①dns轮训
通过dns解析到不同的ip来进行负载均衡
②反向代理
一般通过nginx进行代理解析,服务请求先到达nginx代理服务器,然后又nginx进行转发
③NAT(LVS)
该技术通过一个地址转换网关将每个外部连接均匀转换为不同的内部服务器地址,因此外部网络中的计算机就各自与自己转换得到的地址上的服务器进行通信,从而达到负载均衡的目的
目前阿里云提供的SLB服务还是很方便使用的,只需要登录管理后台,然后选择开通SLB服务,然后添加配置对应的ECS服务器就可以使用了。
其实LVS进行动态负载均衡,根据客户端访问节点的ip进行分流隔离或者负载均衡,是有问题的。原因是实际上无法分辨客户端源ip是真实ip还是代理IP。另外一般情况下客户端过来的访问都是经过我们这边服务端的反向代理的,此时更需要知道真实的ip。反向代理的例子比如,我访问一下Yahoo Finance查看Tesla的股价:
所以,自己公司DevOps搭建负载均衡服务器的时候,一定要考虑这个问题,如何获得发起请求的客户端的真实IP,这个大多数情况下并不能获得;但是如果没有,就是伪负载均衡,只是对反向代理最前面一层进行了负载均衡,并没有对源ip进行负载均衡。
从上面看到实际上 Remote Address 就是反向代理服务器的地址, 是>
以上就是关于负载均衡SLB全部的内容,包括:负载均衡SLB、X-Forwarded-For和有效负载均衡、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)