- 论坛徽章:
- 0
|
回复 59# chenyx
upstream-fair模块的功能在于它将进入的请求转发到一个最近最少“忙”的后台服务器,而不是使用RR(轮询)方式,它是一个用于对后端代理服务器实现公平“工作”的一个模块,它增强了标准的RR方式负载均衡,它通过跟踪“忙”的后台服务器(例如 Thin, Ebb, Mongrel)来均衡的载人不“忙”的后台服务器进程。
安装upstream-fair模块
下面我们来下载并且安装这个模块:
下载upstream-fair模块
[root@mail ~]# wget https://nodeload.github.com/gnos ... fair/tarball/master
--08:37:53-- https://nodeload.github.com/gnos ... fair/tarball/master
Resolving nodeload.github.com... 207.97.227.252
Connecting to nodeload.github.com|207.97.227.252|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 10066 (9.8K) [application/octet-stream]
Saving to: `gnosek-nginx-upstream-fair-7171df8.tar.gz'
100%[================================>] 10,066 14.4K/s in 0.7s
08:37:56 (14.4 KB/s) - `gnosek-nginx-upstream-fair-7171df8.tar.gz' saved [10066/10066]
查看目录结构
[root@mail ~]# tar -zxvf gnosek-nginx-upstream-fair-7171df8.tar.gz
[root@mail gnosek-nginx-upstream-fair-7171df8]# tree
.
|-- README
|-- config
`-- ngx_http_upstream_fair_module.c
0 directories, 3 files
目录结构很简单,需要查看一下README文件。
编译安装
[root@mail nginx-1.0.8]# ./configure --prefix=/usr/local/nginx-1.0.8-fair --add-module=/root/gnosek-nginx-upstream-fair-7171df8
[root@mail nginx-1.0.8]# make
[root@mail nginx-1.0.8]# make install
配置示例
upstream mongrel {
fair;
server 127.0.0.1:5000;
server 127.0.0.1:5001;
server 127.0.0.1:5002;
}
指 令
查看源代码:
static ngx_command_t ngx_http_upstream_fair_commands[] = {
{ ngx_string("fair"),
NGX_HTTP_UPS_CONF|NGX_CONF_ANY,
ngx_http_upstream_fair,
0,
0,
NULL },
{ ngx_string("upstream_fair_shm_size"),
NGX_HTTP_MAIN_CONF|NGX_CONF_TAKE1,
ngx_http_upstream_fair_set_shm_size,
0,
0,
NULL },
ngx_null_command
};
可见该模块提供了以下两条指令:
指令名称:fair
功 能:启用“公平”功能。
语 法:fair
使用环境:upstream
指令名称:upstream_fair_shm_size
功 能:该指令设置用于存储有关繁忙后台服务器的信息的共享内存大小。默认值是8个内存页面,因此在大多数系统上是32k。
语 法:upstream_fair_shm_size size
使用环境:http
默 认 值:default upstream_fair_shm_size 32k
配置实例
http {
……
upstream_fair_shm_size 64k;
}
upstream mongrel {
fair;
server 127.0.0.1:5000;
server 127.0.0.1:5001;
server 127.0.0.1:5002;
}
|
|