集群app sticky
1.功能描述
特定app 客户端和server 端 sticky 路由一致性算法
2.依赖模块
njet.conf:
load_module modules/njt_app_sticky_module.so;
3.指令说明
参数 | 说明 |
---|---|
app_sticky | 必须配置 |
zone={name}:{size} | 共享内存配置名称以及大小 |
cookie:{name} | 通过指定name的cookie值进行session路由 |
header:{name} | 通过指定name的header值进行session路由,其中: cookie和header二选一 |
ttl: {session_timeout} | session 过期时间,默认600s, 如果配置,必须>=1s,需配置在cookie 或者header之后 |
4.配置样例
...
load_module modules/njt_app_sticky_module.so;
...
stream {
server {
listen 238.255.253.254:5555 udp;
gossip zone=test:1m heartbeat_timeout=100ms nodeclean_timeout=1s;
}
}
http{
upstream back{
app_sticky zone=app:4m cookie:route;
server 127.0.0.1:8008; #real server
server 127.0.0.1:8009; #real server
}
upstream back2{
app_sticky zone=app:4m header:testheader ttl:600s;
server 127.0.0.1:8006; #real server
server 127.0.0.1:8007; #real server
}
server {
listen 8186 ;
server_name localhost;
location / {
proxy_pass http://back;
}
}
server {
listen 9186 ;
server_name localhost;
location / {
proxy_pass http://back;
}
}
}