【9070期】负载均衡Nginx篇---技术杂谈

2022/1/3 7:13:52

本文主要是介绍【9070期】负载均衡Nginx篇---技术杂谈,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

什么是Nginx?

Nginx是一个 轻量级/高性能的反向代理Web服务器,它实现非常高效的反向代理、负载平衡。

为什么要用Nginx?

  • 跨平台、配置简单、反向代理、高并发连接:处理2-3万并发连接数,官方监测能支持5万并发,内存消耗小:开启10个nginx才占150M内存 ,nginx处理静态文件好,耗费内存少
  • Nginx内置的健康检查功能:如果有一个服务器宕机,会做一个健康检查,再发送的请求就不会发送到宕机的服务器了。重新将请求提交到其他的节点上
  • 节省宽带:支持GZIP压缩,可以添加浏览器本地缓存的Header头。
  • 稳定性高:宕机的概率非常小
  • 支持热部署

为什么Nginx性能这么高?

因为它使用了异步非阻塞事件处理机制:运用了epoll模型,提供了一个队列,排队解决。

Nginx怎么处理请求的?

nginx接收一个请求后,首先由listen和server_name指令匹配server模块,再匹配server模块里的location,location就是实际地址。

    server {            		    	# 第一个Server区块开始,表示一个独立的虚拟主机站点
        listen       80;      		        # 提供服务的端口,默认80
        server_name  localhost;    		# 提供服务的域名主机名
        location / {            	        # 第一个location区块开始
            root   html;       		# 站点的根目录,相当于Nginx的安装目录
            index  index.html index.htm;    	# 默认的首页文件,多个用空格分开
        }          				# 第一个location区块结果
    }           

什么是正向代理和反向代理?

正向代理

正向代理类似一个跳板机,代理访问外部资源。

比如我们国内访问谷歌,直接访问访问不到,我们可以通过一个正向代理服务器,请求发到代理服,代理服务器能够访问谷歌,这样由代理去谷歌取到返回数据,再返回给我们,这样我们就能访问谷歌了。

正向代理的用途:

(1)访问原来无法访问的资源,如google
(2)可以做缓存,加速访问资源
(3)对客户端访问授权,上网进行认证
(4)代理可以记录用户访问记录(上网行为管理),对外隐藏用户信息

反向代理

反向代理(Reverse Proxy)实际运行方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

反向代理的用途:

(1)保证内网的安全,阻止web攻击,大型网站,通常将反向代理作为公网访问地址,Web服务器是内网
(2)负载均衡,通过反向代理服务器来优化网站的负载

总结

正向代理中,proxy和client同属一个LAN,对server透明;
反向代理中,proxy和server同属一个LAN,对client透明。
实际上proxy在两种代理中做的事都是代为收发请求和响应,不过从结构上来看正好左右互换了下,所以把后出现的那种代理方式叫成了反向代理。

Nginx的优缺点?

优点:

  • 占内存小,可实现高并发连接,处理响应快
  • 可实现http服务器、虚拟主机、方向代理、负载均衡
  • Nginx配置简单
  • 可以不暴露正式的服务器IP地址

缺点: 动态处理差:nginx处理静态文件好,耗费内存少,但是处理动态页面则很鸡肋,现在一般前端用nginx作为反向代理抗住压力。

Nginx应用场景?

  • http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
  • 虚拟主机。可以实现在一台服务器虚拟出多个网站,例如个人网站使用的虚拟机。
  • 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会应为某台服务器负载高宕机而某台服务器闲置的情况。
  • nginx 中也可以配置安全管理、比如可以使用Nginx搭建API接口网关,对每个接口服务进行拦截。

 



这篇关于【9070期】负载均衡Nginx篇---技术杂谈的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程