首页 > 图灵资讯 > 技术篇>正文

Nginx实现负载均衡的原理和方式

2023-04-17 11:45:42

想必大家对Nginx这个java服务器并不陌生,在前面的文章中总结了Nginx的基本知识点。所以关于Nginx实现负载均衡知识,也许你刚入门不久。java零基础朋友们还是有点奇怪。今天的文章将带你去了解它Nginx实现负载平衡的原理和方法,帮助您扩展java的知识。

反向代理服务器Nginx实践

首先,负载平衡的基本定义是什么?负载平衡是指将负载(工作任务)平衡并分配到多个操作单元,如FTP服务器,Web服务器、企业核心应用服务器等主要任务服务器,协同完成工作任务。

负载平衡还需要知道的是路由模式、桥接模式和服务直接返回模式三种部署方式。路由模式部署灵活,超过50%的用户选择使用这种方式;桥接模式不改变现有网络结构;服务直接返回(DSR)更适合吞吐量大的网络应用,尤其是内容分发。

学习Nginx必须知道实现负载平衡的原理是:客户端向反向代理发送请求,然后根据某种负载机制向目标服务器转发请求(这些服务器运行相同的应用程序),并将获得的内容返回给客户端。其中,代理请求可以根据配置发送到不同的服务器。

那么Nginx如何实现负载平衡?一句话的答案是:通过在Nginxnginx.配置conf文件,负载平衡可以实现。简单的实现流程图如下:

配置如下(配置2步即可)

1、添加http模块upstream

upstream www.myweb.com {

server 127.0.0.1:9100 weight=3;

server 127.0.0.1:9200 weight=1;

}

2、添加server模块:(例)

http:/192.168.myweb

location /myweb {

proxy_pass http://www.myweb.com;

}

其中 www.myweb.com字符串应等于upstream后面的字符串

有六种常见的负载平衡方法:(1)轮询(默认):如果后端服务器down丢失,每个请求将按时间顺序逐一分配到不同的后端服务器。(2)weight:在后端服务器性能不均的情况下,指定的轮询概率,weight与访问率成正比。(3)ip_hash:根据访问ip的hash结果分配每个请求,使每个访问者能够固定地访问一个后端服务器。(4)backup:所有其他非backup机器down或忙碌时,请求backup机器。所以这台机器的压力会是最轻的。(5)down:表示单前的server暂时不参与负载。(6)fair(第三方):请求按后端服务器的响应时间分配,响应时间短的优先分配与weight分配策略相似。

为了避免服务器崩溃,让用户有更好的体验,通过平衡负载来分担服务器压力,所以用Nginx实现负载平衡的原理和方法是必须掌握的知识内容。本文带您对Nginx负载平衡的实现有一定的了解和理解,更多的实际操作可以在相关方面进行java培训课程在学习过程中,视频课程会使具体操作一目了然,学习效果更好。我相信在学会理解所有这些知识之后,成为优秀的人java工程师会更近一步。

上一篇 Nginx虚拟主机的概念及分类介绍
下一篇 Nginx核心配置文件知识点整合

文章素材均来源于网络,如有侵权,请联系管理员删除。