nginx 缓存 负载均衡之 split_clients

本文探讨了nginx如何实现负载均衡,特别是通过ngx_http_split_clients_variable函数来分配请求。当磁盘数量为奇数且配置百分比为'*'时,会将hash值设为0。
摘要由CSDN通过智能技术生成
nginx做缓存的时候,可能用到多快盘。比如如下配置:
proxy_cache_path /disk1 levels=1:2 keys_zone=cache_disk1:10m max_size=5g inactive=7d use_temp_path=off;
proxy_cache_path /disk2 levels=1:2 keys_zone=cache_disk2:10m max_size=5g inactive=7d use_temp_path=off;
proxy_cache_path /disk3 levels=1:2 keys_zone=cache_disk3:10m max_size=5g inactive=7d use_temp_path=off;

可是怎么让请求均匀的分配到这三块盘上呢,一般是配置split_clients方法,方法如下:
split_clients $request_uri $disk {
        33% disk1;
        33% disk2;
        * disk3;



之后在location中配置如下:
        location ~ (live\.m3u8)$ {
                        proxy_pass http://liveUpstream;
                        proxy_cache_valid 10s;
                        proxy_ignore_headers cache-control;
                        proxy_cache_key $uri;
                        proxy_cache cache_ $disk;
        }
由location的标红配置可以看出,该缓存磁盘调用的是split_clients函数,会按照百分比获取一个磁盘。完整配置如下:

user  root;
worker_processes  1;
events {
        worker_connections  10240;
       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值