• haproxy之负载均衡算法


    backend
        blance 算法

    动态hash的特点
        服务器运行时就可进行权重调整,即只需要重新载入配置文件即可,不需要重新启动haproxy
        支持慢速启动,即重新恢复的后端server不会一次性接收大量请求,而是慢慢拿回属于自己的
    roundrobin--> 基于权重的轮循调度
        动态hash
        只能接收4095个后端server
        后面添加权重标记

           server [标识] ip check weight num


    static-rr-->不支持动态hash,没有后端数量限制,基本不用

    leastconn-->类似于lvs中的wlc
        不过这里只考虑活动连接数,即选择活动连接数少的,另外,最好在长连接会话中使用,如sql,ldap

    source-->基于hash表的算法,类似于nginx中的iphash
        键:原IP地址的hash/值:挑选过的server,应用于动态服务器,保持会话
        hash-type map-based    静态hash    对于ip的hash取余
        hash-type consistent    动态hash    使用hash环,原理查看(memcached多个memcached的解决方法)

    uri-->基于uri生成hash表的算法,主要用于后端是缓存服务器
        基于uri来进行选择,比如客户访问了http://test.com/a.jpg,那么在此uri缓存失效之前,任何一个客户访问这个路径,一定访问的就是a.jpg
        len    基于多少个字符的uri
        depth    基于多少个目录层次的uri
            len 3    hash的uri是/a/
            depth 3    hash的uri是/a/b/c/

    url_params-->根据url的参数来调度,用于将同一个用户的信息,都发送到同一个后端server
        参数指那一部分,先看下url格式,其中绿色加粗的就是
        <scheme>://<user>:<passwd>@<host>:<port>/<path>;<params>?<query>#<frag>
        <query>表示php程序请求的查询信息
        <frag>表示当前页的片段页,即跳转到当前页的某个部分
        这里的意思就是如果访问的是hammers,则传递参数sale(并赋值false),如果访问的是index.html,则传递参数graphics(并赋值ture)

    hdr(name)-->header基于首部的信息来构建hash表HTTP之报文|首部
        hdr(Host)    基于用户请求的主机名进行调度 





    [星空刺] |-->一颗星辰一闪即逝,支撑它的唯有方向和目的
  • 相关阅读:
    Linq to xml 示例分析
    Nhibernate学习笔记
    SQL – 11.练习
    集合 ArrayList
    分享一个不错的VS插件——CodeMap(转发)
    wamp配置虚拟主机,虚拟目录,伪静态
    RBAC (RoleBased Access Control)基于角色的访问控制
    PHP的面向对象
    一名靠谱的JavaScript程序员应备的素质
    Javascript 广告定位
  • 原文地址:https://www.cnblogs.com/aaa103439/p/3537163.html
Copyright © 2020-2023  润新知