前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx(四):负载均衡Load balancing

Nginx(四):负载均衡Load balancing

作者头像
栗筝i
发布2022-12-01 08:39:19
2520
发布2022-12-01 08:39:19
举报
文章被收录于专栏:迁移内容

1、概念基础

Load balancing,即负载均衡,是一种计算机技术,用来在多个计算机(计算机集群)、网络连接、CPU、磁盘驱动器或其他资源中分配负载,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。 为了提升网站的服务能力,网站可以采用集群部署,就像话剧院有多个入口一样。这时候,就需要一个协调者,来均衡的分配这些用户的请求,可以让用户的可以均匀的分派到不同的服务器上。

单个服务器解决不了,我们增加服务器的数量,然后将请求分别分发到各个服务器上,将原来请求集中到单个服务器上的情况改为将请求分发到多个服务器上,降幅在分发到不同的服务器,也就是我们所说的负载均衡。

2、负载均衡实例

2.1、实现效果 在浏览器输入123.com/te/test.html,负载均衡效果,平均到8080和8081端口中。

2.2、提前准备

  1. 两台Tomcat服务器,一台8080,一台8081;
  2. 在两台tomcat服务器里面的webapps目录,分别建立te文件夹,并在其中创建test.html,用于测试.

2.3、在nginx配置文件中进行负载均衡配置

代码语言:javascript
复制
    upstream myserver{
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }
    #gzip  on;
    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            proxy_pass http://myserver;
            index  index.html index.htm;
        }

2.4、效果展示

两次刷新

3、nginx分配策略

3.1、轮询(默认) 每个请求按照时间顺序逐一分配到服务器中,如果后端服务器dowm掉,能自动剔除。 3.2、weight weight代表权重值,默认为1,权重值越高,默认分配客户端越多,指轮询机率。

代码语言:javascript
复制
    upstream myserver{
        server 127.0.0.1:8080 weight=5
        server 127.0.0.1:8081 weight=10
    }

3.3、ip_hash

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session问题。

代码语言:javascript
复制
    upstream myserver{
    ip_hash
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
    }

3.4、fair(第三方) 按照后端服务器的响应时间来分配,响应时间越多的优先分配。

代码语言:javascript
复制
    upstream myserver{
        server 127.0.0.1:8080;
        server 127.0.0.1:8081;
        fair
    }
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-05-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1、概念基础
  • 2、负载均衡实例
  • 3、nginx分配策略
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的四七层流量分发服务,访问流量经由 CLB 可以自动分配到多台后端服务器上,扩展系统的服务能力并消除单点故障。轻松应对大流量访问场景。 网关负载均衡(Gateway Load Balancer,GWLB)是运行在网络层的负载均衡。通过 GWLB 可以帮助客户部署、扩展和管理第三方虚拟设备,操作简单,安全性强。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档