Nginx的负载均衡策略主要包括以下几种:

  1. 轮询(Round Robin):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。这是Nginx的默认策略,适合服务器配置相当、无状态且短平快的服务使用。
  2. 权重(Weight):指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。这种方式可以根据后端服务器的性能,为它们分配不同的权重,以达到更好的负载均衡效果。
  3. IP绑定(IP Hash):按照基于客户端IP的分配方式,确保相同的客户端的请求一直发送到相同的服务器,以保证session会话。这种方式适合有状态服务,比如session。
  4. 最少连接数(Least Connections):把请求转发给连接数最少的后端服务器。这种方式可以减少服务器的负载,使其更加均衡。
  5. 第三方策略:除了上述几种策略,还有一些第三方策略可以实现更复杂的负载均衡需求,这些策略需要安装第三方插件
  • fair

    按照服务器端的响应时间来分配请求,响应时间短的优先分配。
  • url_hash

    按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求,可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取。

下面是一个基本的Nginx负载均衡配置示例,假设你有两个后端Web服务器(backend1.example.combackend2.example.com),你想要在它们之间分配HTTP请求:

http {
# 定义后端服务器组
upstream backend {
# server指令定义后端服务器及其参数
server backend1.example.com;
server backend2.example.com; # 可选的负载均衡算法,默认为轮询
# least_conn; # 最少连接数
# ip_hash; # 根据客户端IP进行哈希,实现会话保持 # 更多的服务器配置参数,如权重、备用状态等
# server backend1.example.com weight=3;
# server backend3.example.com backup; # 备用服务器
} # 虚拟主机配置
server {
# 监听端口
listen 80; # 域名或IP地址
server_name example.com; # 位置块,用于匹配请求URI
location / {
# 将请求代理到后端服务器组
proxy_pass http://backend; # 代理超时设置
proxy_connect_timeout 1s;
proxy_send_timeout 1s;
proxy_read_timeout 1s; # 传递请求头和请求体
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; # 其他代理设置
proxy_http_version 1.1;
proxy_set_header Connection "";
} # 可以添加更多的location块来处理特定的路径或模式
} # 可以添加更多的server块来配置不同的虚拟主机
}

在这个配置中,upstream块定义了一个名为backend的后端服务器组,其中包含两个服务器。默认情况下,Nginx使用轮询算法将请求分发到这些服务器上。你可以在server指令中使用weight参数来指定服务器的权重,权重较高的服务器将接收更多的请求。使用backup参数可以指定备用服务器,只有在所有非备用服务器都不可用时才会接收请求。

Nginx的负载均衡策略(4+2)的更多相关文章

  1. Nginx专题(2):Nginx的负载均衡策略及其配置

    本文介绍了Nginx的负载均衡策略,一致性hash分配原理,及常用的故障节点的摘除与恢复配置. 文章来源:宜信技术学院 & 宜信支付结算团队技术分享第一期-宜信支付结算八方数据团队高级技术经理 ...

  2. Nginx的负载均衡策略

    Nginx的负载均衡策略 个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top 共六种: 轮询.权重.ip ...

  3. nginx+tomcat负载均衡策略

    測试环境均为本地,測试软件为: nginx-1.6.0,apache-tomcat-7.0.42-1.apache-tomcat-7.0.42-2.apache-tomcat-7.0.42-3 利用n ...

  4. Nginx多种负载均衡策略搭建

    背景介绍 上篇介绍了利用Nginx反向代理实现负载均衡,本文详细讲述Nginx下的几种负载均衡策略. 轮询 轮询,顾名思义,就是轮流请求,基于上篇文章的介绍,我们将负载均衡策略聚焦于default.c ...

  5. [日常] nginx与负载均衡策略

    upstream mail.sina.net { #upstream的负载均衡,weight是权重,可以根据机器配置定义权重.weigth参数表示权值,权值越高被分配到的几率越大. server we ...

  6. 解析 Nginx 负载均衡策略

    转载:https://www.cnblogs.com/wpjamer/articles/6443332.html 1 前言 随着网站负载的不断增加,负载均衡(load balance)已不是陌生话题. ...

  7. 【Nginx】负载均衡-加权轮询策略剖析

    转自:江南烟雨 本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别. 如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服 ...

  8. [转载] nginx的负载均衡

    原文:http://www.srhang.me/blog/2014/08/27/nginx-loabbalance/ Nginx负载均衡 一.特点 1.1 应用情况 Nginx做为一个强大的Web服务 ...

  9. NginX——配置负载均衡

    A.            在http模块加上upstream配置 upstream www.myweb.com { server  127.0.0.1:9100 weight=3; server  ...

  10. nginx 负载均衡策略

    nginx 负载均衡策略   1. 轮询轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:upstream backend {server backend1.e ...

随机推荐

  1. 遥感图像处理笔记之【Machine Learning CS-433 - Class Project 2 - Road Segmentation - EPFL】

    遥感图像处理学习(8) 前言 遥感系列第8篇.遥感图像处理方向的学习者可以参考或者复刻 本文初编辑于2024年1月2日 本文再编辑于2024年1月4日:附作者改进U-Net网络图片:文字补充说明 20 ...

  2. 深入浅出Java多线程(四):线程状态

    引言 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第四篇内容:线程状态.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在现代软件开发中,多线程编程已经成为提升 ...

  3. Mygin之错误恢复Recover中间件

    本篇是mygin这个系列的最后一篇.如果想自己动手实现一个类似Gin的Web框架,建议从 mgin第一篇开始, 总代码行数有效行数只有600多行 github源码 mygin 目的 实现错误处理机制 ...

  4. 教你用Java实现动态调色板

    案例介绍 欢迎来到我的小院,我是霍大侠,恭喜你今天又要进步一点点了!我们来用Java编程实战案例,做一个动态调色板.案例界面会出现三个滑动组块以及对应的数值,通过移动滑块可以改变颜色区域的显示.通过实 ...

  5. RSAToken 的签名算法 SHA256withRSA、数字签名

    数字签名的意义,看下百科:数字签名sign可不是对数据的加密和解密,而是生成签名和验证签名. https://baike.baidu.com/item/%E6%95%B0%E5%AD%97%E7%AD ...

  6. FolkMQ "单线程"消息中间件 v1.0.32 发布

    简介 采用 "单线程" + "多路复用" + "内存运行" + "快照持久化" + "Broker 集群模式& ...

  7. NC16562 [NOIP2012]开车旅行

    题目链接 题目 题目描述 小 A 和小 B 决定利用假期外出旅行,他们将想去的城市从 1 到 N 编号,且编号较小的城市在编号较大的城市的西边,已知各个城市的海拔高度互不相同,记城市 i 的海拔高度为 ...

  8. 搭建docker swarm集群

    环境介绍 管理节点    swarm01 192.168.5.140 工作节点   swarm02 192.168.5.141 管理节点执行 docker swarm init --advertise ...

  9. 腾讯云轻量级主机修改hostname后重启后又恢复原先的hostname

    搭建k8s后,执行inspect后 显示hostname 不符合规范, 修改/etc/hostname 后重启, 发现又自动恢复到默认主机名: 查资料后发现腾讯云的配置里,如果重启会重置hostnam ...

  10. ubuntu 23.04 无法联网

    一些参考文章: 解决ubuntu突然无法联网问题 共享主机网络方法: https://www.server-world.info/en/note?os=Ubuntu_22.04&p=squid ...