集群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;
        }
     }
}