高并发负载均衡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~  阅读(311)  评论(0编辑  收藏  举报