static-rr-->不支持動態hash,沒有後端數量限制,基本不用php
leastconn-->相似於lvs中的wlchtml
不過這裏只考慮活動鏈接數,即選擇活動鏈接數少的,另外,最好在長鏈接會話中使用,如sql,ldapnginx
source-->基於hash表的算法,相似於nginx中的iphash算法
鍵:原IP地址的hash/值:挑選過的server,應用於動態服務器,保持會話sql
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.jpgide
len 基於多少個字符的urimemcached
depth 基於多少個目錄層次的uri
例子: http://test.com/a/b/c/d/e/a.jpg
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>表示當前頁的片斷頁,即跳轉到當前頁的某個部分
例子: http://test.com/hammers:sale=false/index.html:graphics=ture
這裏的意思就是若是訪問的是hammers,則傳遞參數sale(並賦值false),若是訪問的是index.html,則傳遞參數graphics(並賦值ture)
hdr(name)-->header基於首部的信息來構建hash表 HTTP之報文|首部
hdr(Host) 基於用戶請求的主機名進行調度