广告
返回顶部
首页 > 资讯 > 精选 >nginx负载均衡策略有哪些
  • 634
分享到

nginx负载均衡策略有哪些

2024-04-02 19:04:59 634人浏览 泡泡鱼
摘要

Nginx负载均衡策略有:1、轮询调度方式,RR算法策略;2、weight权重方式策略;3、ip_hash基于客户端IP的分配方式;4、least_conn,把请求转发给连接数较少的后端服务器;5、第三方策略,实现需要安装第三方插件。具体内

Nginx负载均衡策略有:1、轮询调度方式,RR算法策略;2、weight权重方式策略;3、ip_hash基于客户端IP的分配方式;4、least_conn,把请求转发给连接数较少的后端服务器;5、第三方策略,实现需要安装第三方插件

nginx负载均衡策略有哪些

具体内容如下:

一、关于Nginx的负载均衡

在服务器集群中,Nginx起到一个代理服务器的角色(即反向代理),为了避免单独一个服务器压力过大,将来自用户的请求转发给不同的服务器。

二、Nginx负载均衡策略

负载均衡用于从“upstream”模块定义的后端服务器列表中选取一台服务器接受用户的请求。一个最基本的upstream模块是这样的,模块内的server是服务器列表:

    #动态服务器组

    upstream dynamic_zuoyu {

        server localhost:8080;  #Tomcat 7.0

        server localhost:8081;  #tomcat 8.0

        server localhost:8082;  #tomcat 8.5

        server localhost:8083;  #tomcat 9.0

    }

在upstream模块配置完成后,要让指定的访问反向代理到服务器列表:

        #其他页面反向代理到tomcat容器

        location ~ .*$ {

            index index.jsp index.html;

            proxy_pass Http://dynamic_zuoyu;

        }

这就是最基本的负载均衡实例,但这不足以满足实际需求;目前Nginx服务器的upstream模块支持6种方式的分配:

nginx负载均衡策略有哪些

在这里,只详细说明Nginx自带的负载均衡策略,第三方不多描述。

轮询

最基本的配置方法,上面的例子就是轮询的方式,它是upstream模块默认的负载均衡默认策略。每个请求会按时间顺序逐一分配到不同的后端服务器。

有如下参数:

nginx负载均衡策略有哪些

注意:

  • 在轮询中,如果服务器down掉了,会自动剔除该服务器。

  • 缺省配置就是轮询策略。

  • 此策略适合服务器配置相当,无状态且短平快的服务使用。

weight

权重方式,在轮询策略的基础上指定轮询的几率。例子如下:

    #动态服务器组

    upstream dynamic_zuoyu {

        server localhost:8080   weight=2;  #tomcat 7.0

        server localhost:8081;  #tomcat 8.0

        server localhost:8082   backup;  #tomcat 8.5

        server localhost:8083   max_fails=3 fail_timeout=20s;  #tomcat 9.0

    }

在该例子中,weight参数用于指定轮询几率,weight的默认值为1,;weight的数值与访问比率成正比,比如Tomcat 7.0被访问的几率为其他服务器的两倍。

注意:

  • 权重越高分配到需要处理的请求越多。

  • 此策略可以与least_conn和ip_hash结合使用。

  • 此策略比较适合服务器的硬件配置差别比较大的情况。

ip_hash

指定负载均衡器按照基于客户端IP的分配方式,这个方法确保了相同的客户端的请求一直发送到相同的服务器,以保证session会话。这样每个访客都固定访问一个后端服务器,可以解决session不能跨服务器的问题。

#动态服务器组

    upstream dynamic_zuoyu {

        ip_hash;    #保证每个访客固定访问一个后端服务器

        server localhost:8080   weight=2;  #tomcat 7.0

        server localhost:8081;  #tomcat 8.0

        server localhost:8082;  #tomcat 8.5

        server localhost:8083   max_fails=3 fail_timeout=20s;  #tomcat 9.0

    }

注意:

  • 在nginx版本1.3.1之前,不能在ip_hash中使用权重(weight)。

  • ip_hash不能与backup同时使用。

  • 此策略适合有状态服务,比如session。

  • 当有服务器需要剔除,必须手动down掉。

least_conn

把请求转发给连接数较少的后端服务器。轮询算法是把请求平均的转发给各个后端,使它们的负载大致相同;但是,有些请求占用的时间很长,会导致其所在的后端负载较高。这种情况下,least_conn这种方式就可以达到更好的负载均衡效果。

    #动态服务器组

    upstream dynamic_zuoyu {

        least_conn;    #把请求转发给连接数较少的后端服务器

        server localhost:8080   weight=2;  #tomcat 7.0

        server localhost:8081;  #tomcat 8.0

        server localhost:8082 backup;  #tomcat 8.5

        server localhost:8083   max_fails=3 fail_timeout=20s;  #tomcat 9.0

    }

注意:

此负载均衡策略适合请求处理时间长短不一造成服务器过载的情况。

第三方策略

第三方的负载均衡策略的实现需要安装第三方插件。

①fair

按照服务器端的响应时间来分配请求,响应时间短的优先分配。

    #动态服务器组

    upstream dynamic_zuoyu {

        server localhost:8080;  #tomcat 7.0

        server localhost:8081;  #tomcat 8.0

        server localhost:8082;  #tomcat 8.5

        server localhost:8083;  #tomcat 9.0

        fair;    #实现响应时间短的优先分配

    }

②url_hash

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求,可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取。 

    #动态服务器组

    upstream dynamic_zuoyu {

        hash $request_uri;    #实现每个url定向到同一个后端服务器

        server localhost:8080;  #tomcat 7.0

        server localhost:8081;  #tomcat 8.0

        server localhost:8082;  #tomcat 8.5

        server localhost:8083;  #tomcat 9.0

    }

--结束END--

本文标题: nginx负载均衡策略有哪些

本文链接: https://www.lsjlt.com/news/109224.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • nginx负载均衡策略有哪些
    nginx负载均衡策略有:1、轮询调度方式,RR算法策略;2、weight权重方式策略;3、ip_hash基于客户端IP的分配方式;4、least_conn,把请求转发给连接数较少的后端服务器;5、第三方策略,实现需要安装第三方插件。具体内...
    99+
    2022-10-22
  • nginx负载均衡的策略
    本文同步发布于 http://laowubiji.com/index.php/2023/02/01/nginx_config/ nginx的负载均衡策略有六种: 1、轮询(默认策略,nginx自带策略):我上面的例子就是轮询的方式,它是...
    99+
    2023-09-02
    nginx 负载均衡 服务器 Powered by 金山文档
  • Dubbo有哪些负载均衡策略
    Dubbo中负载均衡策略有:1、随机选取提供者策略,能够随机转发请求;2、轮循选取提供者策略,可以使请求平均分布;3、最少活跃调用策略,能够让慢提供者接收更少的请求;4、一致性Hash策略,相同参数请求总是发到同一提供者,如是一台机器宕机,...
    99+
    2022-10-09
  • springcloud负载均衡策略有哪些
    springcloud负载均衡策略有:1、Ribbon,它是一个基于Netflix Ribbon实现的一套客户端负载均衡工具;2、Fegin的配置,它是一个声明式的Web服务客户端,能够更加容易编写Web服务客户端,只要在api层建设一个接...
    99+
    2022-10-23
  • 负载均衡的策略有哪些
    负载均衡的策略有:轮询,每个请求都要按顺序分派到不同的后端网络服务器。特定权重,用于后端开发网络服务器性能不匀的状况。IP关联ip_hash,每个请求按浏览ip的hash结果分派,这样就会让每一个浏览量固定不动浏览一个后端开发网络服务器,能...
    99+
    2022-10-18
  • Nginx负载均衡策略详解
    本篇内容介绍了“Nginx负载均衡策略详解”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!本文只是展示了部分nginx实现负载均衡时可以使用的...
    99+
    2023-06-03
  • nginx负载均衡策略是什么
    Nginx负载均衡策略是指Nginx服务器在处理客户端请求时,将请求分发到多个后端服务器上以实现负载均衡的一种策略。常见的Nginx...
    99+
    2023-09-02
    负载均衡 nginx
  • Nginx负载均衡策略选择与配置
    一、引言在构建高可用的web应用程序时,负载均衡是一个重要的部分。负载均衡可以分发用户请求到后端的多个服务器上,实现资源的合理利用,提高系统的可用性和性能。Nginx是一个功能强大的反向代理服务器,具有高效的负载均衡特性。本文将介绍如何选择...
    99+
    2023-10-21
    配置 nginx 负载均衡
  • nginx负载均衡参数有哪些
    nginx负载均衡参数有以下几个:1. upstream:定义一个后端服务器组,用于负载均衡。可以通过ip地址、主机名、域名等方式指...
    99+
    2023-09-06
    nginx 负载均衡
  • Nginx专题(2):Nginx的负载均衡策略及其配置
    本文介绍了Nginx的负载均衡策略,一致性hash分配原理,及常用的故障节点的摘除与恢复配置。文章来源:宜信技术学院 & 宜信支付结算团队技术分享第一期-宜信支付结算八方数据团队高级技术经理 周恒《Nginx的细枝末节》分享者:宜信...
    99+
    2023-06-04
  • 什么是负载均衡?有哪几种策略?
         什么是负载均衡?有哪几种策略?负载均衡是指平均分到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。建立在现有网络结构上,提供了一...
    99+
    2023-06-04
  • nginx负载均衡的缺点有哪些
    nginx负载均衡的缺点包括:1. 单点故障:如果使用单个Nginx服务器进行负载均衡,那么这个服务器本身可能成为瓶颈,一旦发生故障...
    99+
    2023-09-07
    负载均衡 nginx
  • nginx负载均衡的方式有哪些
    Nginx负载均衡的方式有以下几种:1. 轮询(Round Robin):每一次请求按照服务器的顺序依次分配到不同的后端服务器。2....
    99+
    2023-08-24
    nginx
  • Dubbo负载均衡策略介绍
    目录1、负载均衡基本配置2、自定义负载均衡器1、负载均衡基本配置 负载均衡(Load Balance), 其实就是将请求分摊到多个操作单元上进行执行,从而共同完成工作任务。 负载均衡...
    99+
    2022-11-13
  • Nginx负载均衡配置有哪些误区
    这篇文章主要讲解了“Nginx负载均衡配置有哪些误区”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Nginx负载均衡配置有哪些误区”吧!之前有很多朋友问关于...
    99+
    2022-10-19
  • apache负载均衡策略是什么
    Apache负载均衡策略是指通过Apache服务器来分配请求到多个后端服务器上,以实现负载均衡。常见的Apache负载均衡策略有以下...
    99+
    2023-09-06
    apache 负载均衡
  • ribbon负载均衡策略是什么
    Ribbon负载均衡策略是Netflix开源的一种用于负载均衡的策略。它是一个基于客户端的负载均衡器,主要用于在微服务架构中选择目标...
    99+
    2023-09-07
    ribbon 负载均衡
  • nginx实现负载均衡的方式有哪些
    nginx实现负载均衡的方式有三种:1. 基于IP Hash的负载均衡:nginx根据客户端的IP地址进行哈希计算,将同一个IP的请...
    99+
    2023-10-09
    nginx
  • nginx负载均衡配置哪些参数
    nginx负载均衡配置参数有:1、upstream配置,在http配置下增加即可;2、权重配置,用来解决上游服务器配置不均衡的情况;3、ip_hash配置,使每一个请求按照请求ip的hash结进行分配;4、fair配置,按上游服务器的响应时...
    99+
    2022-10-07
  • springcloud负载均衡策略怎么实现
    在Spring Cloud中,负载均衡策略的实现主要依赖于Ribbon和Eureka。Ribbon是Netflix开源的负载均衡组件...
    99+
    2023-09-27
    springcloud
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作