nginx负载均衡算法有哪些_dubbo负载均衡算法

nginx负载均衡算法有哪些_dubbo负载均衡算法nginx负载均衡的几种算法

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

前言: 在 nginx 中,我们通过 upstream 命令来实现的,由 ngx_http_upstream_module 模块提供支持。

nginx 负载均衡算法

  • 1:轮询(默认)
    每个请求按照时间顺序逐一分配到下游的服务节点,如果其中某一节点故障,nginx 会自动剔除故障系统使用户使用不受影响。
  • 2.权重(weight)
    在配置文件中对下游的服务节点指定权重值 weight, weight 值越大则被分配的评率越高,一般这种负载均衡,用于节点的配置情况不一样,有的可能配置高,有的配置低。
  • 3.ip_hash
    对每个请求,针对 ip 进行 hash, 然后分配到后台节点,这样一来,同一 ip 会被固定分配到下游固定服务上。它能够暂时的解决集群环境中容器之间 session 共享的问题,但是不是解决的根本之道,只是权宜之策,我们试想,如果访问的好好的,家里的路由器被重启了,或者运营商分配给你的 ip 地址改变了,那么你再次访问的时候,新的 ip 就可能被分配到新的服务上,之前的 session 也就失效了。
  • 4.least_conn (最少连接调度算法)
    最少连接调度算法,对下游服务中连接情况,优先选择连接数最少的服务分配。
  • 5.least_time (最小响应时间)
    最小响应时间, 计算节点平均响应时间,然后取响应最快的那个,分配更高权重。

upstream 中可附加指令

  • down,表示当前的 server 不参与负载均衡。
  • backup, 预留的备份机,当其他所有非 backup 的机器出现故障或者忙的时候,才会请求 backup 机器,因此这台机器的压力最轻。
  • max_fails,允许请求失败的次数,默认为 1,当超过最大次数时,返回 proxy_next_upstream 模块定义的错误。
  • fail_timeout, 在经历了 max_fails 次失败后,暂停服务的时间,max_fails 可以和 fail_timeout 一起使用。
  • keepalive 连接数 N; 为每个 worker 进程保留的空闲的长连接数量, 可节约 nginx 端口,并减少连接管理的消耗

如何配置?

  • 轮询负载
upstream webserver { 
   
				server 192.168.214.133:80 max_fails=3 fail_timeout=30s;
				server 192.168.214.187:80 max_fails=3 fail_timeout=30s;
		}

测试:

[root@nfs ~]# for i in { 
   1..10};do curl www.a.com/index.html;done
web server 1 page
web server 2 page
web server 1 page
web server 2 page
web server 1 page
web server 2 page
web server 1 page
web server 2 page
web server 1 page
web server 2 page
  • 加权轮询
upstream webserver { 
   
		 server 192.168.214.133:80 weight=3 max_fails=3 fail_timeout=30s;
		 server 192.168.214.187:80 max_fails=3 fail_timeout=30s;
		}

测试:

[root@nfs ~]# for i in { 
   1..10};do curl www.a.com/index.html;done
web server 2 page
web server 1 page
web server 1 page
web server 1 page
web server 2 page
web server 1 page
web server 1 page
web server 1 page
web server 2 page
web server 1 page
  • ip_hash
upstream webserver { 
   
				ip_hash;
				server 192.168.214.133:80 max_fails=3 fail_timeout=30s;
				server 192.168.214.187:80 max_fails=3 fail_timeout=30s;
		}

测试:

[root@nfs ~]# for i in { 
   1..10};do curl www.a.com/index.html;done
web server 2 page
web server 2 page
web server 2 page
web server 2 page
web server 2 page
web server 2 page
web server 2 page
web server 2 page
web server 2 page
web server 2 page
  • least_conn 最少连接
upstream webserver { 
   
				least_conn;
				server 192.168.214.133:80 weight=3 max_fails=3 fail_timeout=30s;
				server 192.168.214.187:80 max_fails=3 fail_timeout=30s;
		}

测试:

[root@nfs ~]# for i in { 
   1..10};do curl www.a.com/index.html;done
web server 1 page
web server 1 page
web server 2 page
web server 1 page
web server 1 page
web server 1 page
web server 2 page
web server 1 page
web server 1 page
web server 1 page

原文地址:https://www.exception.site/article/20

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/182771.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • webstorm2022激活码用法-激活码分享

    (webstorm2022激活码用法)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~C…

    2022年4月1日
    2.2K
  • navicat导入sql文件报错_navicat怎么导入sql数据库文件

    navicat导入sql文件报错_navicat怎么导入sql数据库文件一、打开navicat,打开连接,右击连接名(如果新建连接,需要使用对应数据库的ip地址和密码,本机的是地址localhost,密码是自己mysql数据库的密码),选择新建数据库,数据库名要和想要导入的文件名一样(这种情况针对的是sql文件是直接由整个数据库导出的一个sql文件,如果表导出的sql文件,应该是随便命名数据库的名字,表名应该是和需要导入的文件名字相同(第二种情况没有亲自试过))。…

    2022年10月2日
    0
  • linux解压tar命令

    linux解压tar命令linux解压tar命令tar命令tar[-cxtzjvfpPN]文件与目录….参数:-c:建立一个压缩文件的参数指令(create的意思);-x:解开一个压缩文件的参数指令!-t:查看tarfile里面的文件!特别注意,在参数的下达中,c/x/t仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。-z:是否同时具有gzip的属性?亦即…

    2022年6月18日
    31
  • java中clone_java copyproperties

    java中clone_java copyproperties1.克隆的用处在日常编码中我们经常需要产生某个对象的副本,这里的副本并不是指向同一个对象的不同引用,而是与当前对象状态一模一样的另一个新的对象。如果使用单纯的引用赋值,会发生什么效果呢?我们可以观察下面的代码:packagecom.coderap.foundation.clone;classAddress{publicStringprovince;publicStringcity;…

    2022年10月14日
    0
  • kali——kali更新源

    kali——kali更新源为什么更新源官方下载并安装的KaliLinux,在进行原件升级的时候会首先默认选择到Kali官方的源地址去下载,位于国内的用户由于网络线路的问题,下载速度会非常的慢,因此修改为国内的源,方便快速!1.更新软件源sudovim/etc/apt/sources.list2.选择比较合适的源(选择一个即可)下面是国内的一些kali源#中科大debhttp://mirrors.us…

    2022年5月27日
    36
  • hdu 4268 Alice and Bob(multiset|段树)

    hdu 4268 Alice and Bob(multiset|段树)

    2022年1月15日
    83

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号