目前haproxy支持的负载均衡算法有如下8种:

1:roudrobin

表示简单的轮询,每个服务器根据权重轮流使用,在服务器的处理时间平均分配的情况下这是最流畅和公平的算法。该算法是动态的,对于实例启动慢的服务器权重会在运行中调整。

2:leastconn

  连接数最少的服务器优先接收连接。leastconn建议用于长会话服务,例如LDAP SQL TSE等,而不适合短会话协议。如HTTP该算法是动态的,对于实例启动慢的服务器权重倒在运行中调整。

3:static-rr

  每个服务器极据权重轮流使用,类似roundrobin,但它是静 态的,意味着运行时修改概限是无效的。另外,它对服务器的数量没有限制。(该算法一般不用)

4:source

  对于请求源ip地址进行哈希,用可用服务器的权重总数除以哈希值,根据结果进行分配。只要服务正常,同一个客户端IP地址总是访问同一个服务器。如果哈希结果随可用服务器数量而变化,那么客户端会定向到不同的服务器;(该算法一般用于不能插入cookie的Tcp模式。它还可以用于广域网上为拒绝使用会话cookie的客户端提供最有效的粘连;该算法默认是静态的,所以运行时修改服务器的权重是无效的,但是算法会根据"hash-type"的变化做调整)

5:uri

  表示根据请求的URI左端(问号之前)进行哈希,用可用服务器的权重总数除以哈希值,根据结果进行分配。只要服务器正常,同一个URI地址总是访问同一个服务器。一般用于代理缓存和反病毒代理,以最大限度的提高缓存的命中率。该算法只能用于HTTP后端;(该算法一般用于将同一个用户的信息发送到同一个后端服务器;该算法默认是静态的,所以运行时修改服务器的权重是无效的,但是算法会根据“hash-type”的变化做调整)

6:url_param

  在http get请求的查询串中查找<param>中指定的URL参数,基本可以锁定使用特制的URL到特定的负载均器节点的要求;(该算法一般用于将同一个用户的信息发送到同一个后端服务器;该算法默认是静态的,所以运行时修改服务器的权重是无效的,但是算法会根据“hash-type”的变化做调整)

7:hdr(name)

    在每个HTTP请求中查找HTTP头<name>,HTTP头<name>将被看做在每个http请求,并针对特定的节点;如果缺少头或者头没有任何值,则用roundrobin代替;(该算法默认是静态的,所以在运行时修改服务器的权重是无效的,但是算法会根据"hash-type"的变化做调整)

8:rdp-cookie (name)

  为每个进来的tcp请求查询并哈希RDP cookie<name>;

  该机制用于退化的持久模式,可以使同一个用户或者同一个会话ID总是发送给同一台服务器。如果没有cookie,则使用roundrobin算法代替;(该算法默认是静态的,把以运行时修改服务器的权重是无效的,但是算法会根据“hash-type”的变化做调整)

最新文章

  1. Linux驱动开发—— IS_ENABLED
  2. NetBeans连接SQL server数据库教程
  3. View的弹性滑动
  4. 玩玩cordova(MAC安装环境)
  5. android 三种定位方式
  6. UIWebView swift
  7. Android ActionBar中的下拉菜单
  8. 笔记-iOS 视图控制器转场详解(上)
  9. Linux上安装KDE, Gnome和VNC
  10. 【UVA1378】A Funny Stone Game (博弈-求SG值-输出方案)
  11. liunx操作数据库
  12. 【IOS开发】《多线程编程指南》笔记
  13. Oracle日志文件的管理与查看
  14. ISP和IAP
  15. 【腾讯Bugly干货分享】你为什么需要 Kotlin
  16. 学生成绩管理C++版
  17. PowerShell 函数
  18. Hive分区表的导入与导出
  19. 安装Conda并在Conda下安装jupyter notebook
  20. wrk 安装使用

热门文章

  1. java实现内部排序算法
  2. 简单分页查询(web基础学习笔记十三)
  3. java 设计模式大全
  4. python解析发往本机的数据包示例 (解析数据包)
  5. MySQL查看表结构三种方法
  6. ElasticSearch异常归纳(能力工场小马哥)
  7. navicat oracle library is not loaded
  8. raise语句
  9. Centos调出图形化的网络管理
  10. Laravel中的信息验证 和 语言包