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)     基於用戶請求的主機名進行調度 






免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM