首页 > 系统相关 >nginx负载均衡和反向代理的区别

nginx负载均衡和反向代理的区别

时间:2023-04-02 22:55:24浏览次数:37  
标签:负载 http 代理 nginx 反向 proxy

nginx负载均衡和反向代理的区别有:1、实现负载均衡一定要需要反向代理;2、反向代理主要是缓存东西,而负载均衡则是减少高并发情况;3、负载均衡是做反向代理的目的之一。

下面是详细介绍:

负载均衡需要通过反向代理来实现。

反向代理就是指nginx作为前端服务器,将请求转发到后端,再将后端服务器的结果,返回给客户端。

它在中间做了一个代理服务器的角色。

负载均衡对反向代理增加了一些策略,因为后端是多台服务器,nginx会根据设定的策略将请求转发给一个相对空闲的服务器,对负载进行分流,减轻服务器压力。

示例

负载均衡

worker_processes 1;
events {
worker_connections 1024;
}
http{
upstream lxx {//默认是80端口
server 192.168.0.62 weight=2;
server 192.168.0.161 weight=3;
}
server {
listen 80;
location / {
proxy_pass http://lxx;
}
}
}

反向代理

worker_processes 1;
events {
worker_connections 1024;
}
http{
upstream lxx {//默认是80端口
server 192.168.0.62 weight=2;
server 192.168.0.161 weight=3;
}
server {
listen 80;
location / {
proxy_pass http://lxx;
#Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
}

从配置上来看,它只是多了Proxy Settings下面的一些设置参数!但从实际的表现结果来看,感觉区别并不是很大,负载均衡已经可以把用户的请求按照相关算法和规则发送到web集群的某台机器,而反向代理也是实现了如此的功能,它们的具体的区别在哪里?

答:负载均衡是做反向代理的目的之一。

缓存,反向代理主要是缓存东西,以便减少并发操作。

做了反向代理才能实现负载均衡。负载均衡是做反向代理的目的之一。

如果没有反向代理,压力直接放到一个单一的http server上。而有了反向代理,典型情况下,一个ngnix做反向代理,后面有若干个http Server。所有的流量想到ngnix,这个东西根据配置的策略,或者轮转,或者随机或者压力分流,把流量导向给后面的Http server。从而达到负载均衡。

反向代理就是后端服务不直接对外暴露,请求首先发送到nginx,然后nginx将请求转发到后端服务器,比如tomcat等。如果后端服务只有一台服务器,nginx在这里只有一个作用就是起到了代理后端服务接收请求的作用,称之为反向代理。

可是在现实的应用场景中,一台后端服务器出现单点故障的概率很大或者单台机器的吞吐量有限,无法承担过多请求。这时候就需要在nginx后端配置多台服务器,利用nginx内置的规则讲请求转发到后端不同的机器上。这时候就起到了负载均衡的作用。

标签:负载,http,代理,nginx,反向,proxy
From: https://www.cnblogs.com/xiaxiangming/p/17281675.html

相关文章

  • nginx 下监听同一端口通过路径转发不同服务
    注意v1d2最优先匹配server{listen80;server_namelocalhost; location/v1d2{proxy_passhttp://127.0.0.1:8088;} location/{ root/data/dist; try_files$uri$uri/@router; indexindex.htm......
  • nginx keepalive_timeout 300; 504 Gateway Time-out
    实践:1、http{includemime.types;#includeluawaf.conf;includeproxy.conf;default_typeapplication/octet-stream;server_names_hash_bucket_size512;client_header_buffer_size32k;large_client_header_buffers432k;client_max_b......
  • 提升集群吞吐量与稳定性的秘诀: Dubbo 自适应负载均衡与限流策略实现解析
    作者:刘泉禄整体介绍本文所说的“柔性服务”主要是指consumer端的负载均衡和provider端的限流两个功能。在之前的Dubbo版本中,负载均衡部分更多的考虑的是公平性原则,即consumer端尽可能平等的从provider中作出选择,在某些情况下表现并不够理想。而限流部分只提供了静态的限......
  • 提升集群吞吐量与稳定性的秘诀: Dubbo 自适应负载均衡与限流策略实现解析
    作者:刘泉禄整体介绍本文所说的“柔性服务”主要是指consumer端的负载均衡和provider端的限流两个功能。在之前的Dubbo版本中,负载均衡部分更多的考虑的是公平性原则,即consumer端尽可能平等的从provider中作出选择,在某些情况下表现并不够理想。而限流部分只提供了静态......
  • HAProxy实现mycat集群的负载均衡
    上文我们已经实现了mycat集群(https://www.cnblogs.com/zwh0910/p/17278863.html),现在我们来实现mycat集群的负载均衡在前面架构中,虽然对mycat做了集群,保障了mycat的可靠性,但是,应用程序需要连接到多个mycat,显然不是很友好的,也就是说缺少负载均衡的组件,接下来我们来了解下HAProxy。......
  • 使用logrotate做nginx日志分割
    一、logrotate介绍logrotate是centos自带命令,其他linux操作系统可能需要自行安装,用来进行日志切割和定期删除,简单来说就是将某个日志文件按照时间或大小分割成多份,删除时间久远的日志。日志用来帮助我们了解程序运行情况,定位程序bug,如果不对日志及时进行清理就会占据磁盘空间,尤......
  • Jmeter-负载测试场景设计
    负载测试场景设计负载测试逐步增加并发用户数,找到最大可接受的并发用户数区间。最大并发用户数一般是说把服务器压奔溃、或者出现持续报错最大可接受并发用户数能接收的标准最大可接受的并发用户数,并不一定是tps值最大所需插件负载测试,需要引入插件:......
  • Nginx知识总结
    1、什么的nginx?Nginx是高性能的HTTP和反向代理的服务器,处理高并发能力是十分强大的,能经受高负载的考验,由报告表明能支持高达50000哥并发连接数。在实际的使用中,tomcat大约能支持500个并发连接数,nginx大约能支持5000个并发连接数2.1、正向代理需要在客户端配置代理服务器进行指定网......
  • nginx反向代理内外网跳转
    一个域名(www.abc.com),指向了公司的外网IP(59.108.xx.xx),公司的外网IP(59.108.xx.xx),映射到一台内网服务器37(172.16.2.37),以下简称37服务器。另一台内网服务器38是资源服务器(172.16.2.38),上传了很多的图片,以下简称38服务器。 其中,37服务器是外网访问我们服务器的唯一入口,其中配置了......
  • shell 脚本之一键部署安装 Nginx
    今天咸鱼给大家分享个源码编译安装Nginx的shell脚本 这个shell脚本可重复执行 完整源码放在最后 定义一个变量来存放nginx版本号version=1.15.4 nginx下载地址:http://nginx.org/download/ 下列函数功能则是判断当前步骤是否执行成功,并将结果输出出......