比较Haproxy负载均衡的几种方式,有什么问题欢迎讨论。
一、haproxy负载均衡实现方式: 1、简单的轮询,balance roundrobin;2、根据请求的源IP,balance source;3、根据请求的uri,balance uri;4、根据请求URL中的参数,balance url_param;5、根据连接类型,balance leastconn;二、详细说明: 1、简单的轮询,balance roundrobin;根据weights(权重)值来分配请求,weights默认为1。优点:实现简单,流量按权重分配。缺点:不够灵活。 2、根据请求的源IP,balance source;这种均衡方式是对IP源进行hashed运算来匹配。优点:可以保持用户会话(同一IP用户会尽可能访问到同一台服务器)。缺点:有可能造成单点瓶颈(weights无效)。 3、根据请求的uri,balance uri;根据客户端请求的URL进行hashed运算来匹配。优点:可以提高缓存的命中率(同一URL会尽可能分配到同一台服务器);缺点:有可能造成单点瓶颈(weights无效)。 4、根据请求URL中的参数,balance url_param。根据指定URL参数进行hashed运算来匹配。优点:比较灵活,可以提高缓存的命中率(同一指定参数会尽可能分配到同一台服务器);缺点:有可能造成单点瓶颈(weights无效)。 5、根据连接类型,balance leastconn;根据连接类型进行匹配。优点:比较适合长会话的连接,如LDAP, SQL, TSE, etc等;缺点:不适合短会话的连接,如http。