Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1888217
  • 博文数量: 2460
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 24729
  • 用 户 组: 普通用户
  • 注册时间: 2020-11-26 14:30
个人简介

更多python、Linux、网络安全学习内容,可移步:www.oldboyedu.com或关注\"老男孩Linux\"公众号

文章分类

全部博文(2460)

文章存档

2024年(310)

2023年(643)

2022年(693)

2021年(734)

2020年(80)

我的朋友

分类: LINUX

2022-09-27 14:56:32

  提到Nginx,就会想到负载均衡,Nginx将请求分摊到不同的服务器中,保证服务的可用性,缓解服务压力,保证服务的响应速度,即使某一个应用服务不可用,也可以保证业务的正常进行,并且方便对服务器进行扩容缩容。

  Nginx中常见的几种负载均衡方式:

  1、轮询(Nginx自带、默认)

  该策略是Nginx默认的负载均衡策略,每一个客户端请求按时间顺序轮流分配到不同的服务器上,如果后端服务不可以用,会自动过滤掉。

  upstream my_test_server {

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  2、weight 权重(Nginx自带)

  weight代表权重的意思,用于指定轮询的几率,默认权重都是1,可以手动设置调整,权重越高,被分配的次数越多,weight权重和访问比例是成正比的,用于解决后端服务器性能不均衡时,调整访问比例。

  upstream my_test_server {

  server 192.168.0.100:8080 weight=1;

  server 192.168.0.101:8080 weight=2;

  server 192.168.0.102:8080 weight=3;

  }

  3、ip_hash(Nginx自带)

  ip_hash是将每个请求按照访问ip的hash结果进行分配,这种方式可以保证同一个用户会固定访问一个后端服务器。优点:可以保证session会话,解决服务器之间session不能共享的问题。

  upstream my_test_server {

  ip_hash;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  4、least_conn(Nginx自带)

  将请求转发给连接数较少的后端服务器。每个后端服务器配置可能不同,处理的请求也有可能不同,对于处理的请求有快有慢,least_conn是根据后端服务器的连接情况,动态的选择连接数量较少的一台服务器来处理当前的请求。

  upstream my_test_server {

  least_conn;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  5、fair(第三方)

  fair是按照服务器端的响应时间来分配请求,响应时间短的服务器优先分配。第三方的负载均衡策略需要安装第三方的插件。

  upstream my_test_server {

  fair;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

  6、url_hash(第三方)

  url_hash是根据url的hash结果进行分配请求,每一个url会固定到同一个服务器上,配合缓存使用,可以减少不必要的下载和资源时间的浪费。每次同一个url请求到达同一个服务器上,{BANNED}中国第一次加载后放入缓存,后面再次请求,直接取缓存资源。如果不采用url_hash,可能会导致请求到达不同的服务器,资源出现重新加载的情况。第三方的负载均衡策略需要安装第三方的插件。

  upstream my_test_server {

  hash $request_uri;

  server 192.168.0.100:8080;

  server 192.168.0.101:8080;

  }

阅读(276) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~