网站首页 > 技术文章 正文
均衡算法也是多种多样,常见的两大类:即静态负载均衡法和动态负载均衡法。静态算法也是比较简单,主要有有一般轮询算法,基于比例的加权轮询算法,以及基于优先级的轮询算法。动态算法在较为复杂的网络环境中适应性更强,效果更好,主要有基于任务量最少连接优先级算法,基于性能的最快响应算法,预测算法及动态性能分配算法等
配置实例一:对所有请求实现一般轮询规则的负载均衡
在以下实例片段中,backend服务器组中所有的优先级全部配置为默认的weight = 1,这样它们会按照一般轮询策略依次接收请求任务。该配置是一个最简单的实现Nginx服务器负载均衡的配置,所有访问www.myweb.name的请求都会在backend服务器组中实现负载均衡
upstream backend #配置后端服务器组
{
server 192.168.1.2:80;
server 192.168.1.3:80;
server 192.168.1.4:80; #默认weight = 1
}
server {
listen 80;
server_name www.myweb.name;
index index.html index.html
location / {
proxy_pass http://backend
proxy_set_header Host $host;
...
}
}
配置实例二:对所有请求实现加权轮询规则的负载均衡
与实例一相比,在该实例片段中,backend服务器组中的服务器被赋予了不同的优先级别,weight变量的值就是轮询策略中的“权值”
upstream backend #配置后端服务器组
{
server 192.168.1.2:80 weight=5;
server 192.168.1.3:80 weight=3;
server 192.168.1.4:80; #默认weight = 1
}
server {
listen 80;
server_name www.myweb.name;
index index.html index.html
location / {
proxy_pass http://backend
proxy_set_header Host $host;
...
}
}
配置实例三:对特定资源实现负载均衡现负载均衡
在该实例片段中,设置了两组被代理的服务器组,videobackend服务器组用于对请求video资源的客户端请求进行负载均衡,另外一组filebackend资源的客户端请求进行负载均衡,通过对location块url的不同配置
在location /file/中,我们将客户端真实的信息分别填充到了请求头中的Host、X-Real-IP 和 X-Forward-For头域,这样后端服务器组收到的请求就保留了客户端的真实信息而不是nginx服务器的信息
...
upstream videobackend #配置后端服务器组1
{
server 192.168.1.2:80 ;
server 192.168.1.3:80 ;
server 192.168.1.4:80 ;
}
upstream filebackend #配置后端服务器组2
{
server 192.168.1.5:80 ;
server 192.168.1.6:80 ;
server 192.168.1.7:80 ;
}
server {
listen 80;
server_name www.myweb.name;
index index.html index.html
location /video/ {
proxy_pass http://videobackend;
proxy_set_header Host $host;
...
}
location /file/ {
proxy_pass http://filebackend;
proxy_set_header Host $host;
# 保留客户端的真实信息
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
...
}
}
配置实例四:对不同域名实现负载均衡
客户端请求域名为home.myweb.name转发到homebackend服务器组 客户端请求域名为bbs.myweb.name转发到bbsbackend服务器组
...
upstream bbsbackend #配置后端服务器组1
{
server 192.168.1.2:80 ;
server 192.168.1.3:80 ;
server 192.168.1.4:80 ;
}
upstream homebackend #配置后端服务器组2
{
server 192.168.1.5:80 ;
server 192.168.1.6:80 ;
server 192.168.1.7:80 ;
}
server {
listen 80;
server_name www.home.myweb.name;
index index.html index.html
location /video/ {
proxy_pass http://homebackend;
proxy_set_header Host $host;
...
}
}
server {
listen 81;
server_name www.bbs.myweb.name;
index index.html index.html
location /{
proxy_pass http://bbsbackend;
proxy_set_header Host $host;
...
}
}
配置实例五:实现带有url重写的负载均衡
如客户端的请求为
http://www.myweb.name/file/download/media/1.mp3,该虚拟服务器首先使用location块将url重写为
http://www.myweb.name/file/download/mp3/1.mp3 ,然后新的url再由location块转发到后端backend服务器中实现负载均衡
...
upstream backend #配置后端服务器组
{
server 192.168.1.2:80;
server 192.168.1.3:80;
server 192.168.1.4:80; #默认weight = 1
}
server {
listen 80;
server_name www.myweb.name;
index index.html index.html
location / {
rewirte ^(/file/.*)/media/(.*)\.*$ $1/mp3/$2.mp3 last;
}
location / {
proxy_pass http://backend
proxy_set_header Host $host;
...
}
}
猜你喜欢
- 2025-06-30 跨标签页通信(五):IndexedDB(跨标签页通讯)
- 2025-06-30 Netty是如何一步一步演化而来的,不断进化成就Netty
- 2025-06-30 React 官方为何坚持推出反常规的RSC组件?
- 2025-06-30 "前端开发者不可错过的技能:SSE流式传输助力实时数据更新!"
- 2025-06-30 让 React 代码行数减少78%的 htmlx 有这么神?
- 2025-06-30 前端开发进阶:前端开发中如何高效渲染大数据量?
- 2025-06-30 8行代码实现一个websoket(代码如何实现)
- 2025-06-30 实现前端工程师的第一个AI应用(前端之父是谁)
- 2025-06-30 前端定时任务的神库!快把它加到你的项目中去!
- 2025-06-30 自己个人拥有一个可以支付功能的网站?当然可以了!保姆级演示!
你 发表评论:
欢迎- 577℃几个Oracle空值处理函数 oracle处理null值的函数
- 573℃Oracle分析函数之Lag和Lead()使用
- 559℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 558℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 554℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 543℃【数据统计分析】详解Oracle分组函数之CUBE
- 531℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 527℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端react (48)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端懒加载 (49)
- Oracle RAC (73)
- oracle恢复 (76)
- oracle 删除表 (48)
- oracle 用户名 (74)
- oracle 工具 (55)
- oracle 内存 (50)
- oracle 导出表 (57)
- oracle 中文 (51)
- oracle的函数 (57)
- 前端调试 (52)
- 前端登录页面 (48)
本文暂时没有评论,来添加一个吧(●'◡'●)