动力节点旗下在线教育品牌  |  咨询热线:400-8080-105 学Java全栈,上蛙课网
首页 > 文章

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

08-10 17:16 400浏览
举报 T字号
  • 大字
  • 中字
  • 小字

想必大家对Nginx这个java服务器是不陌生的,在前面的文章中都有总结整理过Nginx的基础性的相关知识点。那么关于Nginx实现负载均衡知识,可能各位刚入门不久的java零基础的朋友们还是有些陌生的。今天这篇文章来带大家认识一下Nginx实现负载均衡的原理和方法,帮助大家扩充java的更多知识。

反向代理服务器Nginx实践

先来看一下负载均衡的基础定义是什么?负载均衡就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。

关于负载均衡还需要知道了解的是它的三种部署方式,分别是路由模式、桥接模式和服务直接返回模式。路由模式部署灵活,超过百分之五十的用户会选择使用这种方式;桥接模式不改变现有的网络架构;服务直接返回(DSR)比较适合吞吐量大特别是内容分发的网络应用。

学习Nginx实现负载均衡的相关知识,必须要知道的原理是:客户端向反向代理发送请求,接着反向代理根据某种负载机制转发请求至目标服务器(这些服务器都运行着相同的应用),并把获得的内容返回给客户端,其中,代理请求可能根据配置被发往不同的服务器。

那么Nginx如何实现负载均衡呢?一句话回答是:通过在Nginx的nginx.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.199.128/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工程师会更近一步。

0人推荐
共同学习,写下你的评论
0条评论
无尽之海
程序员无尽之海

4篇文章贡献11242字

作者相关文章更多>

推荐相关文章更多>

一篇文章带你入门Zookeeper

达芬奇09-04 11:00

高性能HTTP及反向代理服务器Nginx

军哥07-29 17:02

浅谈Tomcat服务器优化方法

Code大师09-01 16:01

Linux 的 scp 命令详解

Code大师09-04 10:18

java学习之Linux网络通讯和网络访问

蛙课视频小助手08-04 16:45

发评论

举报

0/150

取消