首页 > 系统相关 >Nginx的负载均衡策略

Nginx的负载均衡策略

时间:2023-04-20 14:33:06浏览次数:47  
标签:负载 http server Nginx 均衡 服务器 com example backend

Nginx的负载均衡策略

个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top

共六种: 轮询、权重、ip_hash、least_conn、fair、url_hash

1、轮询(Round Robin)负载均衡策略:这是一种基本的负载均衡策略,将请求顺序转发给每个后端服务器,每个后端服务器依次处理请求,而轮询正是按照这样的方式平均地为每个后端服务器分配请求。

http {
upstream backend {
  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}

}

  

2、权重(Weight)负载均衡策略:通过为每个后端服务器分配不同的权重,将请求按照权重比例分配到不同的后端服务器,以实现负载均衡。例如,如果后端服务器A的权重是3,后端服务器B的权重是2,则在处理请求时,服务器A会收到3/(3+2)=60%的请求,而服务器B会收到 2/(3+2)=40%的请求。

http {
upstream backend {
  server backend1.example.com weight=5;
  server backend2.example.com weight=10;
  server backend3.example.com weight=5;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}
}

  

3、IP散列(ip_hash)负载均衡策略:使用客户端的IP地址来计算散列值,将同一个IP地址的请求发送到同一个后端服务器上,以实现会话保持(Session Persistence)。

http {
upstream backend {
  ip_hash;

  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}

}

  

4、最少连接数(least_conn)负载均衡策略:将请求发送到当前连接数最少的后端服务器上,以达到最优的负载均衡效果。

http {
upstream backend {
  least_conn;

  server backend1.example.com;
  server backend2.example.com;
  server backend3.example.com;
}

server {
  listen 80;
  server_name example.com;

  location / {
     proxy_pass http://backend;
  }
}

}  

  

5、公平(fair)负载均衡策略:将请求基于当前后端服务器的处理速度,将请求发送到当前处理速度最快的后端服务器上,以充分利用服务器资源并提高响应速度。

http {
upstream backend {
 server backend1.example.com;
 server backend2.example.com;
fair;
}

server {
 listen 80;
 location / {
   proxy_pass http://backend;
}
}
}  

  

6、URL散列(url_hash)负载均衡策略:使用客户端请求中的URL地址计算散列值,并将同一个URL地址的请求发送到同一个后端服务器上,以实现会话保持(Session Persistence)和动态负载均衡(Dynamic Load Balancing)功能。

http {
upstream backend {
 server backend1.example.com;
 server backend2.example.com;
 hash $request_uri;
 hash_method crc32;
}

server {
 listen 80;
 location / {
   proxy_pass http://backend;
}
}
}

  

标签:负载,http,server,Nginx,均衡,服务器,com,example,backend
From: https://www.cnblogs.com/raok/p/17336728.html

相关文章

  • xshell断开ssh远程窗口,nginx进程被杀死
    主要原因:是openssh8+以上的版本对安全策略做了修改解决方法:在/usr/lib/systemd/system/[email protected] 配置增加KillMode=process[Unit]Description=OpenSSHper-connectionserverdaemonDocumentation=man:sshd(8)man:sshd_config(5)Wants=sshd-keygen.serviceAfter=sshd-ke......
  • docker安装nginx
    1、搜索nginxdockersearchnginx2、拉取nginx镜像库dockerpullnginx:latest3、查看获取的镜像dockerimages4、启动容器:dockerrun--namenginx-d-p80:80--privileged=true-vD:/nginx/conf/nginx.conf:/etc/nginx/nginx.conf-vD:/nginx/conf/conf.d:/e......
  • Nginx配置proxy_pass
    评:nginx配置proxy_pass,需要注意转发的路径配置1、location/test/{proxy_passhttp://t6:8300;}2、location/test/{proxy_passhttp://t6:8300/;}上面两种配置,区别只在于proxy_pass转发的路径后是否带“/”针对情况2,如果访问url=http://server/test/t......
  • 安装nginx-http-concat和nginx平滑升級
    评:Nginx_concat_module是淘宝开发的基于Nginx减少HTTP请求数量的扩展模块,主要是用于合并减少前端用户Request的HTTP请求的数量下载后把它放在/usr/local/src/文件夹中,到时候nginx需要指定该目录这个需要重新编译nginx,所以顺便把nginx升级了下。下载最新版本Linux代......
  • nginx 安装
    评:nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息。正式开始前,编译环境gccg++开发库之类的需要提前装好,这里默认你已经装好。ububtu平台编译环境可以使用以下指令apt-getinstallbuild-essentialapt-getinstalllibtoolcento......
  • lvs+keepalived 实现负载均衡与高可用
    参考拓扑结构 1、在两台DirectorServer上安装lvs与keepalivedyum-yinstallkeepalivedipvsadm2、修改两台DirectorServer中/etc/keepalived/keepalived.conf配置文件 global_defs{notification_email{root@localhost#默认......
  • 负载均衡
    负载均衡是一种将网络流量分配到多个服务器上的技术,以提高系统的可用性、性能和可扩展性。负载均衡器可以根据不同的算法,将请求分配到不同的服务器上,从而避免单个服务器过载,提高系统的稳定性和可靠性。负载均衡可以应用于各种网络服务,如网站、应用程序、数据库等。......
  • nginx location规则以及优先级详解
    nginx配置文件里往往有多个location来区分不同的路径来执行不同的配置 在nginx配置文件中,location主要有这几种形式:1、~#使用波浪符“~”区分大小写正则匹配,如location~/abc{}2、~*#不区分大小写的正则匹配,如location~*/abc{}3、^~#匹配路径的前缀,如......
  • Nacos笔记(五):Nacos集群整合Nginx
    前言Nginx搭建,参考:Linux安装Nginx。1、Nginx配置添加nacos集群,调整端口与服务名,并设置代理,详情如下:   配置详情如下http{includemime.types;default_typeapplication/octet-stream;sendfileon;keepalive_timeout......
  • 【Nginx】Nginx介绍及配置详解
    Nginx是什么Nginx("enginex")是一个高性能的HTTP和反向代理服务器,特点是占有内存少,并发能力强。Nginx官网:http://nginx.org/Nginx安装Nginx官网下载地址:http://nginx.org/en/download.html其中nginx-1.23.4这一列是Linux版本。Windows安装解压Nginx压缩包后,目录如下:启动n......