掌握之分布式-5.Nginx

掌握高并发、高可用架构

第三章 分布式

本章介绍分布式架构的底层技术。主要说明面试过程中可能被问到的技术点。

创新互联公司是一家集网站建设,永修企业网站建设,永修品牌网站建设,网站定制,永修网站建设报价,网络营销,网络优化,永修网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

第五节 NGINX

nginx 反向代理

1. 正向代理和反向代理的区别

正向代理,指在客户端,代替客户端收发请求,使得真实客户端对服务器不可见。

反向代理,指在服务器端,代替服务器收发请求,使得真实服务器对客户端不可见

2. nginx是什么

nginx是一个高性能的HTT服务器、电子邮件(IMAP/POP3)代理服务器、非常高效的反向代理服务器

3. nginx的特性
  • 异步、事件驱动、非阻塞
  • 并发请求处理,通过epoll/select
  • 文件IO
  • 高度模块化
4. 支持的并发数

每秒十万级别

5. nginx的使用场景
  • 静态资源服务器,例如图片、网站静态资源(css、js等)
  • 反向代理服务器,实现负载均衡
6. 支持的负载均衡策略(upstream)
  • 轮询(默认),每个请求按时间顺序逐一分配到不同的后端服务器

  • 权重(weight),指定服务器的权重,数值越大的访问机率越多,用于服务器性能不均衡的情况

    upstream domain {
      server 127.0.0.1:8080 weight=5;
      server 127.0.0.1:8040 weight=1;
    }
  • ip_hash,每个请求按照访问IP的hash值进行分配,这样每个客户端IP就会固定访问一台服务器

    upstream domain {
      ip_hash;
      server 127.0.0.1:8080;
      server 127.0.0.1:8040;
    }
  • fair(第三方提供),按照服务器的响应时间来分配请求,响应时间短的优先分配

  • url_hash(第三方提供),按照每个请求的URL的hash值进行分配,每个URL固定访问一台服务器

upstream还支持以下的状态值:

  • down,表示当前的server不参与负载

  • max_fails,允许请求失败的次数

  • fail_timeout,max_fails后,暂停负载的时间

  • backup,备用,当其他非backup的server处于down或忙的时候,启用该server

    upstream domain {
      server 127.0.0.1:8080 down;
      server 127.0.0.1:8080 max_fails=3;
      server 127.0.0.1:8080 fail_timeout=10;
      server 127.0.0.1:8080 backup;
    }

网站名称:掌握之分布式-5.Nginx
浏览地址:http://hbruida.cn/article/geisoi.html