http://wiki.nginx.org/HttpUpstreamConsistentHash
一致性哈希源码包下载网址:
wget https://github.com/replay/ngx_http_consistent_hash/archive/master.zip
下载得到master文件,然后使用unzip直接解压即可看到ngx_http_consistent_hash-master文件
编译安装nginx和添加一致性哈希模块:
./configure --prefix=/usr/local/nginx/ --add-module=/usr/local/src/ngx_http_consistent_hash-master/
make && make install
Nginx 第三方模块的安装方法:
以ngx_http_php_memcache_standard_balancer-master为例
1:解压 到 path/ngx_module
配置:
./configure --prefix=/xxx/xxx --add_module=/path/ngx_module
编译 安装
Make && make instal
配置memcache集群:
upstream memserver { //把用到的memcached节点,声明在一个组里
hash_key $request_uri; // hash计算时的依据,以uri做依据来hash
server 192.168.1.100:11211;//注意:upstream中不能写localhost,需要写上ip
server 192.168.1.100::11212;
}
Location里
location / {
# root html;
set $memcached_key $uri;
memcached_pass memserver; // memserver为上面的memcache节点的名称
error_page 404 /writemem.php;
index index.php index.html index.htm;
}
一致性哈希集群配置:
upstream memserver {
consistent_hash $request_uri;
server 192.168.1.100::11211;
server 192.168.1.100::11212;
}
在PHP.ini中,如下配置
memcache.hash_strategy = consistent