Nginx负载均衡

您所在的位置:网站首页 nginx正反向代理原理 Nginx负载均衡

Nginx负载均衡

2022-11-23 07:44| 来源: 网络整理| 查看: 265

原理:反向代理 作用

        将请求分摊给多个目标,首先需要一个转发者,根据不同服务器的优良程度进行合理分配,保证所有服务器将性能发挥到极致,保证服务器集群的整体性能最优,这便是负载均衡的作用

详情

        客户端通过反向代理发送请求,反向代理通过设置的某种负载均衡机制转发请求到目标服务器(这些服务器运行着相同的项目)把获得的内容返回给客户端,期间,代理请求根据配置被发往不同的服务器

流程

           客户端发送请求

           反向代理根据负载均衡机制转发请求到服务器

           转发期间根据配置发往不同的服务器

           在分配发往的服务器获得相应数据返回客户端

负载均衡算法

源地址哈希法(ip_hash):根据获取客户端的ip地址,通过哈希函数计算出一个数值,用该数值对服务器列表大小进行取模运算,得到结果便是客户端要访问的服务器序列号,通过源地址哈希法进行负载均衡,同一IP地址的客户端,当服务器列表不变时,每次映射同一服务器中进行访问

轮询法:将请求按照顺序轮流分配到服务器上,均衡对待每一台服务器,不关心服务器实际连接数和当前系统均衡

随机法:通过系统随机算法,根据服务器列表大小值来随机选取其中一台服务器进行访问

加权轮询法(weight):不同服务器配置和当前系统负载并不相同,抗压能力也不相同,给配置高、负载低的机器配置更高的权重,让其处理更多的请求,而配置低、负载高的机器,分配更少的权重,降低其系统负载,将请求顺序按照权重分配给不同的服务器

加权随机法:同加权轮询一样,根据服务器不同配置,不同的系统负载分配不同的权重,不同的是,加权随机是按照权重随机分配服务器

最小连接法:由于服务器的配置各不相同,对请求处理速度有快有慢,最小连接法根据服务器当前的连接情况,动态选取其中当前积压连接最少的一台服务器来处理当前请求,尽可能提升服务器的利用效率,将请求合理分配到每一台服务器

实现配置 #连接池的名称(ghost.com),绑定域名,访问域名进行不同权重值的分配 upstream ghost.com{ #绑定服务器,根据服务器优良性分配权值 #参数说明:ip,端口,分发策略 server 110.40.220.80:1000 weight=10; server 220.40.110.80:1000 weight=20; server 40.80.110.200:1000 weight=30; } server{ listen 80; server_name ghost.com; location / { #连接池名称 proxy_pass http://ghost.com; # 用户请求的时候HOST的值是dieqi.xyz, #那么代理服务会像后端传递请求的还是dieqi.xyz proxy_set_header Host $host; # 将$remote_addr的值放进变量X-Real-IP中,$remote_addr的值为客户端的ip proxy_set_header X-Real-IP $remote_addr; # 客户端通过代理服务访问后端服务, 后端服务通过该变量会记录真实客户端地址 proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3