高并发负载均衡Nginx

拓扑结构

正反向代理

  • 正向代理代理客户端,反向代理代理服务器。

  • 客户端是要进行一些正向代理的设置的。(自己知道自己在通过vpn访问google)

  • 反向代理代理的是服务器,作为客户端的我们是无法感知到服务器的真实存在的。(自己并不知道nginx给我们做了代理)

Nginx Apache

apache是同步多进程模型,一个连接对应一个进程;nginx是异步的,多个连接(万级别)可以对应一个进程

  • 多个连接对应一个进程:不恰当例子:一切皆文件,一个连接就是一个socket文件,进程里面放的就是N个socket文件描述符。虽然在轮询,但是少了内核态和用户态切换的时间。正规说明:IO、NIO、BIO。https://www.jianshu.com/p/5bb812ca5f8e
  • 热加载 热升级。 Nginx master父进程 work子进程。升级加载过程中重新孵化子进程的过程

Nginx Conf

  • nginx收到请求头,判定ip,port,hosts决定server
    nginx location匹配.用客户端的uri匹配location的uri

    server{

    listen 80;
    server_name:www.sxt.com
    localtion{
    oot index;
    autoindex on;
    }
    }

  • 基于Nginx的反向代理

    server {
    location / {
    proxy_pass URL;

    }

  • 基于反向代理的负载均衡

    upstream 名字 {
    server IP:PORT;
    server IP:PORT;

    server {
    location / {
    proxy_pass upstream Name;

    }

  • 动静分离

    .php .jsp nginx反向代理给tomcat;静态html,css,img。Nginx自己处理

  • session一致性问题

    1、session复制
    tomcat 本身带有复制session的功能。(不讲)
    2、共享session
    需要专门管理session的软件,
    memcached 缓存服务,可以和tomcat整合,帮助tomcat共享管理session。

  • 原理架构:https://www.sohu.com/a/362805928_115128

posted @ 2020-07-03 09:12  Loading~  阅读(348)  评论(0)    收藏  举报