💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
* upstream ~~~ upstream staticserver { server 192.168.20.139:8085; server 192.168.20.140:8085; } ~~~ * server ~~~ Syntax: server address [parameters]; Default: — Context: upstream ~~~ 功能:在upstream配置段中,用来定义后端主机的 Parameters参数有如下 1)weight=number 配置每个后端服务器的权重 2)max_fails=number 配置请求尝试失败的次数 3)fail_timeout=time 这是一个设置参数,一般跟上面的参数协同使用。该参数的含义: 1:当连接后端server失败时,多长时间内可反复尝试连接后端server; 2:一旦超过这个设置时间段,则判断该server的状态为不可用(unavailable ); 这个参数的默认值为10秒 4)down 手动标记某一台服务器为永久不可用(一般和ip_hash一起使用) 5)backup 当所有后端服务器上都不可用了,这个才会被生效 * keepalive ~~~ Syntax: keepalive connections; Default: — Context: upstream This directive appeared in version 1.1.4. ~~~ 二)调度方式 * ip_hash 功能:根据客户端的ip地址来调度,使得同一个客户端IP被始终定向到同一台upstream server ~~~ upstream backend { ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com down; server backend4.example.com; } ~~~ * hash ~~~ Syntax: hash key [consistent]; Default: — Context: upstream This directive appeared in version 1.7.2. ~~~ 功能:用来设置负载均衡中,客户端寻找各后端server基于hash函数。可以根据这里的key值做哈希,然后除以后端服务器的总权限,然后分配给某台server。 1)当摘除一个server或增加一个server,会导致hash重新计算,导致原来大多数key可能会寻找到不同server上 2)若使用consistent(一致性哈希算法),只有部分key会受影响 * sticky 安装第三方模块nginx-sticky-module-ng git clone https://github.com/bymaximus/nginx-sticky-module-ng.git 1)重新编译nginx,添加如下 --add-module=/usr/local/src/nginx-sticky-module-ng 2)然后执行make,把objs/nginx 拷贝到/usr/local/nginx-1.12.1/sbin/ 3)重新启动nginx