Nginx的负载均衡策略(4+2)
Nginx的负载均衡策略主要包括以下几种:
- 轮询(Round Robin):每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。这是Nginx的默认策略,适合服务器配置相当、无状态且短平快的服务使用。
- 权重(Weight):指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。这种方式可以根据后端服务器的性能,为它们分配不同的权重,以达到更好的负载均衡效果。
- IP绑定(IP Hash):按照基于客户端IP的分配方式,确保相同的客户端的请求一直发送到相同的服务器,以保证session会话。这种方式适合有状态服务,比如session。
- 最少连接数(Least Connections):把请求转发给连接数最少的后端服务器。这种方式可以减少服务器的负载,使其更加均衡。
- 第三方策略:除了上述几种策略,还有一些第三方策略可以实现更复杂的负载均衡需求,这些策略需要安装第三方插件
- fair
按照服务器端的响应时间来分配请求,响应时间短的优先分配。 - url_hash
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,要配合缓存命中来使用。同一个资源多次请求,可能会到达不同的服务器上,导致不必要的多次下载,缓存命中率不高,以及一些资源时间的浪费。而使用url_hash,可以使得同一个url(也就是同一个资源请求)会到达同一台服务器,一旦缓存住了资源,再此收到请求,就可以从缓存中读取。
下面是一个基本的Nginx负载均衡配置示例,假设你有两个后端Web服务器(backend1.example.com
和backend2.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)的更多相关文章
- Nginx专题(2):Nginx的负载均衡策略及其配置
本文介绍了Nginx的负载均衡策略,一致性hash分配原理,及常用的故障节点的摘除与恢复配置. 文章来源:宜信技术学院 & 宜信支付结算团队技术分享第一期-宜信支付结算八方数据团队高级技术经理 ...
- Nginx的负载均衡策略
Nginx的负载均衡策略 个人博客地址: https://note.raokun.top 拥抱ChatGPT,国内访问网站:https://www.playchat.top 共六种: 轮询.权重.ip ...
- 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 ...
- Nginx多种负载均衡策略搭建
背景介绍 上篇介绍了利用Nginx反向代理实现负载均衡,本文详细讲述Nginx下的几种负载均衡策略. 轮询 轮询,顾名思义,就是轮流请求,基于上篇文章的介绍,我们将负载均衡策略聚焦于default.c ...
- [日常] nginx与负载均衡策略
upstream mail.sina.net { #upstream的负载均衡,weight是权重,可以根据机器配置定义权重.weigth参数表示权值,权值越高被分配到的几率越大. server we ...
- 解析 Nginx 负载均衡策略
转载:https://www.cnblogs.com/wpjamer/articles/6443332.html 1 前言 随着网站负载的不断增加,负载均衡(load balance)已不是陌生话题. ...
- 【Nginx】负载均衡-加权轮询策略剖析
转自:江南烟雨 本文介绍的是客户端请求在多个后端服务器之间的均衡,注意与客户端请求在多个nginx进程之间的均衡相区别. 如果Nginx是以反向代理的形式配置运行,那么对请求的实际处理需要转发到后端服 ...
- [转载] nginx的负载均衡
原文:http://www.srhang.me/blog/2014/08/27/nginx-loabbalance/ Nginx负载均衡 一.特点 1.1 应用情况 Nginx做为一个强大的Web服务 ...
- NginX——配置负载均衡
A. 在http模块加上upstream配置 upstream www.myweb.com { server 127.0.0.1:9100 weight=3; server ...
- nginx 负载均衡策略
nginx 负载均衡策略 1. 轮询轮询方式是nginx负载均衡的默认策略,根据每个server的权重值来轮流发送请求,例如:upstream backend {server backend1.e ...
随机推荐
- 7.2 通过API创建新进程
创建新的进程是Windows程序开发的重要部分,它可以用于实现许多功能,例如进程间通信.并行处理等.其中,常用的三种创建进程的方式分别是WinExec().ShellExecute()和CreateP ...
- C/C++ 实现正反向端口映射
通常服务器是放在内网中,内部局域网中,并且分配了私有IP地址,而如果想要在外部直接访问内部服务器则需要端口映射,端口映射也叫做端口转发,或者叫做虚拟服务器,在渗透时当我们拿到目标机器权限以后,目标机器 ...
- LeetCode刷题日记 2020/8/28
题目描述: 最长有效括号 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度. 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 ...
- java获取最近12个月月份
最近在做一个换电站管理的项目,其中有一个大屏折线图.要求计算近12个月的数据.所以,就需要写一个生成近12个月月份的算法.算法如下. 一:编写生成近12个月月份的算法 二:编写判断当天是否是月初的算法 ...
- Spring Boot 参数校验注解(自整理,不停的测试更新)
首先我们只使用java官方的 javax.validation.constraints ,足以使用了,不使用spring boot 自身的,自身的与官方的一致,可能会有扩展,但是还得引入包,麻烦,只用 ...
- LLaMA 2 - 你所需要的一切资源
摘录 关于 LLaMA 2 的全部资源,如何去测试.训练并部署它. LLaMA 2 是一个由 Meta 开发的大型语言模型,是 LLaMA 1 的继任者.LLaMA 2 可通过 AWS.Hugging ...
- 使用V2R做反向代理内网穿透
环境 内网服务器Prob1位于内网LAN1, 内网服务器Prob2位于内网LAN2, 外网服务器Serv1位于IP 123.123.123.123 内网节点配置 内网节点没有inbound,只需要配置 ...
- Java集合框架学习(二) HashSet详解
HashSet介绍 这个类实现了Set接口,背后是一个hash table(实际上是个HashMap 实例) .它不保证元素的迭代顺序.尤其是,随着时间推 移它不保证某一元素的位置不变.这个类是非线程 ...
- ROS2 humble交叉编译环境配置
目录 配置 toolchain文件: 库文件 交叉编译指令: 问题点: 1.find_package找不到自定义依赖包的问题 2.libarmadillo.so.10: undefined refer ...
- FFmpeg开发笔记(八):ffmpeg解码音频并使用SDL同步音频播放
若该文为原创文章,未经允许不得转载原博主博客地址:https://blog.csdn.net/qq21497936原博主博客导航:https://blog.csdn.net/qq21497936/ar ...