【问题标题】:Nginx: Least connections with sticky sessionsNginx:与粘性会话的连接最少
【发布时间】:2015-10-26 04:02:12
【问题描述】:

我使用 nginx 作为反向代理,需要粘性会话,所以我使用 ip_hash 作为平衡算法。

我更喜欢使用 least_conn(最少连接)作为平衡算法。是否可以通过粘性会话进行最少的连接?

【问题讨论】:

  • 有什么消息吗?你用 Nginx 解决了你的问题吗?谢谢
  • 我只是把它放在我的情况下。我相信 nginx pro 确实支持我所追求的,但你必须付费才能使用它

标签: nginx load-balancing reverse-proxy


【解决方案1】:

从纯粹的负载平衡的角度来看,启用持久性和最小连接没有任何意义,因为持久性是负载平衡的一个例外:一旦启用了持久性,负载平衡器就不会不再使用负载平衡算法,因为它知道将请求路由到哪里。 启用持久性后,负载平衡算法仅用于路由每个用户的第一个请求。 在 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

巴蒂斯特

【讨论】:

  • 我很困惑。首先,您说这没有意义,然后您说真正的负载均衡器确实可以做到这一点。无论如何,我将您的答案标记为正确。
  • 嗯,这并不是因为在您的特定情况(网络流量)中,leastconn + 持久性没有意义,而是在其他一些情况下(具有长时间会话的 IE 协议,如 IMAP)没有用。这就是为什么我认为提到“真正的”负载均衡器可以开箱即用地做到这一点也很有用。
猜你喜欢
  • 1970-01-01
  • 2016-12-09
  • 2019-06-21
  • 2014-12-12
  • 1970-01-01
  • 2012-05-16
  • 2018-05-19
  • 2011-06-18
相关资源
最近更新 更多