我使用nginx作为反向代理并需要粘性会话,所以我使用ip_hash作为平衡算法。
我更喜欢使用least_conn(最少连接)作为平衡算法。是否可以与粘性会话进行最少的连接?
答案 0 :(得分:1)
从纯负载平衡的角度来看,启用持久性和最少conn没有任何意义,因为持久性是负载平衡的一个例子:一旦启用了持久性,那么负载均衡器就赢得了#39; t再次使用负载平衡算法,因为它知道在哪里路由请求。 启用持久性后,负载平衡算法仅用于路由每个用户的第一个请求。 在Web流量上,每个服务器的连接数每毫秒改变一次......因此,当需要持久性时,为什么基于这样的度量来平衡用户并没有多大意义。
有关持久性和负载平衡的更多信息: http://blog.haproxy.com/2012/03/29/load-balancing-affinity-persistence-sticky-sessions-what-you-need-to-know/
顺便说一句,不幸的是,您只是重新考虑了可以进行负载均衡(nginx)的软件和真正的负载均衡器之间的区别......
为此目的,只需切换到HAProxy:
backend bk_myapp
cookie MyAPP insert indirect nocache
balance leastconn
server srv1 10.0.0.1:80 check cookie srv1
server srv2 10.0.0.2:80 check cookie srv2
巴普蒂斯特