动态worker
1.功能描述
Njet 静态配置文件中,worker_processes 这个配置项用于设置worker进程的数目, 设置为auto 将根据系统的CPU 核数自动创建worker 进程。
静态配置只有在NJet首次启动时有效,之后将只能通过动态API进行调整。NJet 首次启动后,将在 data 目录下生成一些数据文件,除非停止NJet后删除该目录下的数据文件,才能恢复初始状态,并且在启动后再次使用静态配置的worker数目进行初始化。建议直接使用动态API进行worker数目调整。
通过KV API调整key: “__master_worker_count"的值值 设置后,master 进程将根据对应的值进行worker 数目的调整,配置的值需要在这个区间:(0,512], 其它的值,worker数目将不做调整。
2. 依赖模块
无
3.指令说明
动态worker调整配置无特殊的指令。
4.配置样例
helper broker modules/njt_helper_broker_module.so conf/mqtt.conf;
helper ctrl modules/njt_helper_ctrl_module.so conf/ctrl.conf;
cluster_name helper;
node_name node1;
worker_processes 1;
error_log logs/error.log info;
pid logs/njet.pid;
events {
worker_connections 1024;
}
http {
dyn_kv_conf conf/iot-work.conf;
include mime.types;
upstream test{
zone customer 64k;
server 192.168.40.249:8090;
}
server {
server_name testName;
listen 7777;
location / {
proxy_pass http://test;
}
}
}
5.API
5.1 API 调用
动态调整worker 数量
curl -X 'POST' \
'http://127.0.0.1:8081/api/v1/kv' \
-d '{
"key": "__master_worker_count",
"value": "2"
}'