负载均衡之ip_hash
##hash算法
hash(ip) % node_counts = index 通过对客户端IP进行哈希然后根据上方公式分配到对应的服务器处理,之后的每次请求,只要客户端的IP没有变化,所有的请求都会请求到这台服务器上。 由于nginx的ip_hash算法是根据IP的前三个数值进行的hash,所以内网使用时,只会访问同一台服务器上。如果有人进行不正当的大量请求,这时所有的请求都会转发到同一台服务器上,这时会造成这台服务器的负载升高。 当使用ip_hash的方式进行负载均衡时,如果要临时移除一台服务器时,不能直接将这个server删除,要将这要服务器标记为down。 该算法,在增加或减少节点时,都需要重新计算。
upstream tomcats {
ip_hash; # 使用ip_hash的方式实现负载均衡
server 192.168.3.26:8080;
server 192.168.3.27:8080;
server 192.168.3.28:8080;
}