nginx支持的负载均衡算法_nginx算法

nginx支持的负载均衡算法_nginx算法1:Nginx负载均衡算法(1):轮询(默认)每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。upstreamtomcat{server192.168.200.113:8080weight=1;server192.168.200.114:8080weight=1;}(2):Weight(轮询权值)Weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡…

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

Jetbrains全系列IDE稳定放心使用

1Nginx负载均衡算法

1):轮询(默认)

   每个请求按时间顺序逐一分配到不同的后端服务,如果后端某台服务器死机,自动剔除故障系统,使用户访问不受影响。

upstream tomcat {

    server 192.168.200.113:8080 weight=1;

    server 192.168.200.114:8080 weight=1;

    }

2):Weight(轮询权值)

    Weight的值越大分配到的访问概率越高,主要用于后端每台服务器性能不均衡的情况下。或者仅仅为在主从的情况下设置不同的权值,达到合理有效的利用主机资源。

upstream tomcat {

    server 192.168.200.113:8080 weight=1;

    server 192.168.200.114:8080 weight=2;

    }

3):least_conn

   lest-connected方式可以更公平的将负载分配到多个机器上面。使用least-connected,nginx不会将请求分发到繁忙的机器上面,而且将新的请求分发的较清闲的机器上面。

upstream tomcat {

least_conn;

    server 192.168.200.113:8080 weight=1;

    server 192.168.200.114:8080 weight=1;

4):ip_hash

   每个请求按访问IP的哈希结果分配,使来自同一个IP的访客固定访问一台后端服务器,而且可以有效解决动态网页存在的session共享问题。

upstream tomcat {

ip_hash;

    server 192.168.200.113:8080 weight=1;

    server 192.168.200.114:8080 weight=1;

5):fair

     比weight、ip_hash更加智能的负载均衡算法,fair算法可以根据页面大小和加载时间长短智能地进行负载均衡,也就是根据后端服务器地响应时间来分配请求,响应时间段地优先分配。Nginx本身不支持fair,如果需要这种调度算法,则必须安装upstream_fair模块。

upstream tomcat {

fair;

    server 192.168.200.113:8080 weight=1;

    server 192.168.200.114:8080 weight=1;

6):url_hash

    按访问地URL地哈希结果来分配请求,使每个URL定向到一台后端服务器,可以进一步提高后端缓存服务器地效率。Nginx本身不支持url_hash,如果需要这种调度算法,则必须安装Nginx的hash软件包。

upstream tomcat {

hash $request_uri;

    server 192.168.200.113:8080 weight=1;

    server 192.168.200.114:8080 weight=1;

2:nginx 负载均衡集群

三台服务:两台tomcat,一台nginx

nginx 服务器上

《1》:vim /usr/local/nginx/conf/nginx.conf   编辑主配置文件

《2》:写入: 

    upstream tomcat {

    server 192.168.100.10:8080 weight=1;

    server 192.168.100.20:8080 weight=1;

    }

nginx支持的负载均衡算法_nginx算法

        location ~ \.jsp$ {

            proxy_pass http://tomcat;

        }

nginx支持的负载均衡算法_nginx算法

 《3》: /usr/local/nginx/sbin/nginx -t   查看语法

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

nginx支持的负载均衡算法_nginx算法

《4》:/usr/local/nginx/sbin/nginx    重启

nginx支持的负载均衡算法_nginx算法

《5》:访问  (默认算法是轮询,及两个来回一起)

nginx支持的负载均衡算法_nginx算法

nginx支持的负载均衡算法_nginx算法

修改主配置文件: 加入 ip_hash ; 

nginx支持的负载均衡算法_nginx算法

及访问时,最后固定为test2

nginx支持的负载均衡算法_nginx算法

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

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

(0)
上一篇 2022年10月10日 下午9:36
下一篇 2022年10月10日 下午9:36


相关推荐

  • 打开redis远程访问端口_linux端口开放命令

    打开redis远程访问端口_linux端口开放命令一、问题详情最近我在阿里云ESC上购买了一台服务器,但是在安装完redis后,我在本地的电脑上怎么也没法调用这台服务器上面的redis服务。最后,我终于解决了,所以来记录一下。二、解决方案想要解决这个问题,前提条件是已经在阿里云的安全组设置里面已经开放了3679这个端口。接着我们要修改两个配置文件。redis.conf尽量将最初始的redis.conf复制一份,防止以后修改该配置文件出现问题。 执行修改配置文件的命令 vim/opt/myRedis/redis.co

    2025年11月24日
    4
  • python-def函数的定义

    python-def函数的定义无参定义函数 1 语法 deffunction name expressionsP 使用 def 开始函数定义 紧接着是函数名 括号内部为函数的参数 内部为函数的具体功能实现代码 如果想要函数有返回值 在 expressions 中的逻辑代码中用 return 返回 2 实例 deffunction print Thisisafunct a 1 2print a 上面我们定义了一个名字为 fun

    2026年3月20日
    2
  • 反射型xss实战演示「建议收藏」

    反射型xss实战演示「建议收藏」我们知道,XSS攻击大致分为三种类型:Persistent型(持久型),Non-persistent(反射型)及Dom-based型。而反射型是最常用,也是使用得最广的一种攻击方式。它通过给别人发送带有恶意脚本代码参数的URL,当URL地址被打开时,特有的恶意代码参数被HTML解析、执行。它的特点是非持久化,必须用户点击带有特定参数的链接才能引起。   今天,通过一个反射型xss的实战演示

    2022年6月11日
    43
  • android jsonarray数组转jsonobject异常_Android开发将List转化为JsonArray和JsonObject[通俗易懂]

    android jsonarray数组转jsonobject异常_Android开发将List转化为JsonArray和JsonObject[通俗易懂]释放双眼,带上耳机,听听看~!客户端需要将List转化为JsonArray和JsonObject的方法:首先,List中的Object的属性需要是public:classPerson{publicStringname;publicStringsex;publicintage;}下面假设有ListpersonList=newArrayList();中已经装载好了数据:JSON…

    2022年5月2日
    71
  • pycharm中如何使用anaconda安装的虚拟环境

    pycharm中如何使用anaconda安装的虚拟环境pycharm 中使用 anaconda 的 python 解释器很简单 但是这种情况下使用的环境是 anaconda 中的 base 环境 如果 anaconda 中安装有多个虚拟环境 那么如何使用某一个虚拟环境呢 首先打开设置 File gt Settings 找到 projectinter 打开设置点击 Add 选择 condaenviron gt existingenvi 然后找到自己要用的虚拟环境位置即可

    2026年3月27日
    3
  • Maven 生成打包可执行jar包

    Maven 生成打包可执行jar包文章目录1.需求2.开发环境3.Maven打包插件介绍4.Maven使用maven-jar-plugin打可执行jar包5.Maven使用maven-assembly-plugin装需要打包的文件打进zip包6.Maven生成可执行jar包及zip项目压缩包7.执行jar包8.pom.xml配置9.package.xml文件最近IDEA打可执行Jar包搞了三天,一直失败,好好学…

    2022年5月30日
    33

发表回复

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

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