=======nginx的简单笔记======

nginx最常提到的是负载均衡,处理高并发能力。简单说明

1》 nginx的反向代理

    

      什么是正向代理?服务器架设在客户机与目标机之间,用户向客户机发送请求并指定目标(原始服务器),通过代理服务器对原始服务器进行连接请求,返回结果通过代理服务器返回给客户机,客户机必须指定代理服务器。(正向代理的服务器架设在客户机端)

      反向代理就是反向代理的服务器架设在服务器端, 客户机发起的请求向代理服务器,代理服务器有选择的转发给内网目标服务器。

2》 nginx负载均衡策略

(2.1)内置策略  (加权轮询和ip hash)

      轮询:每个请求按照时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,自动剔除分配到下一个服务器

     加权轮询:每个请求按照时间顺序,分配到不同的后端服务器,通过设定加权权重(即指定轮询权重),权重越高,分配到的服务器几率越高

  加权轮询是先深度,再广度,先分配权重高的服务器,当该服务器的权重降低到比其他机器低后,开始分给下一个权重高的机器,依次进行轮询处理

     当所有服务机器down后,nginx会立即对机器做清位成初始化状态,以避免造成所有的机器处于timeout状态,而导致所有全段都卡死。

ip hash策略
     上述中,在负载均衡系统中的加权轮询下,假如用户在某个服务器上登陆,用户第二次请求的时候,我们的系统又会根据加权轮询的方式重新
定位到服务器集群中的某一个,已经登陆的用户需重新定位到另外一台服务器上,其登陆信息会丢失,这样明显就不妥了。
      ip_hash策略就是处理: 如果用户已经访问了某个服务器,当用户再次访问时,会将该请求通过哈希算法,自动定位到该服务器。
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题
   存在一个缺点:有些公用路由器,其节点上的流量会有成千上万的用户,该流量会非常大,也达不到分流
    upstream backserver {
    ip_hash;
    server 192.168.0.14:88;
    server 192.168.0.15:80;
}

(2)扩展策略  
  2.1 fair  
  按后端服务器的响应时间来分配请求,响应时间短的优先分配。   
  upstream backserver {
    server server1;
    server server2;
    fair;
   }
  受网络等外部环境情况偏大  
  2.2 url_hash
  按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。
   upstream backserver {
     server squid1:3128;
     server squid2:3128;
     hash $request_uri;
     hash_method crc32;
   }
   
(3) 通用hash、一致性hash
  这两种也是扩展策略,在具体的实现上有些差别,通用hash比较简单,可以以nginx内置的变量为key进行hash,一致性hash采用了nginx内置的一致性hash环,可以支持memcache。
   
  

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值