美文网首页
什么是nginx,什么是负载均衡??

什么是nginx,什么是负载均衡??

作者: 心魔_4cef | 来源:发表于2017-12-27 22:20 被阅读0次

大家好,我是IT修真院武汉分院第01期学员,一枚正直善良的web程序员。今天给大家分享一下,修真院官网 java任务6中的深度思考:什么是nginx,什么是负载均衡?? 

1.背景介绍

什么是nginx,什么是负载均衡?

Nginx是一款轻量级的Web服务器/反向代理服务器以及电子邮件代理服务器,并在一个BSD-like协议下发行。

由俄罗斯的程序设计师lgor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler使用。

其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好。

负载均衡也称负载共享,是指对系统中的负载情况进行动态调整,以尽量消除或减少系统中各节点负载不均衡的现象。

具体实现方法是将过载节点上的任务转移到其他轻载节点上,尽可能实现系统各节点的负载平衡,从而提高系统的吞吐量。

负载共享有利于统筹管理分布式系统中的各种资源,便于利用共享信息及其服务机制扩大系统的处理能力。

2.知识剖析

在实际情况中,当一个服务器有太多客户端访问,服务器并发数太高,我这里使用nginx负载均衡,把客户端请求分配到多个web上,以此减轻服务器压力

3.常见问题

如何启动nginx?如何配置端口、打印日志内容?

4.解决方案

在linux输入 whereis nginx,就在那个文件下下的sbin文件夹输入 ./nginx 启动,配置端口等文件也是在该文件夹下。

我当初因为没分清nginx安装目录和配置文件卡了很久,觉得有必要说一下

5.编码实战

配置日志输出信息和负载均衡,IP_HASH访问

子域访问

日志查看

6.扩展思考

一.nginx正向代理和反向代理

举个例子:

我是一个用户,我访问不了某网站,但是我能访问一个代理服务器,这个代理服务器呢,他能访问那个我不能访问的网站,于是我先连上代理服务器,告诉他我需要那个无法访问网站的内容,代理服务器去取回来,然后返回给我。从网站的角度,只在代理服务器来取内容的时候有一次记录,有时候并不知道是用户的请求,也隐藏了用户的资料,这取决于代理告不告诉网站。

二.nginx负载均衡不同的方式

1、Nginx的负载分发策略

Nginx 的 upstream目前支持的分配算法:1)、轮询——1:1 轮流处理请求(默认)

每个请求按时间顺序逐一分配到不同的应用服务器,如果应用服务器down掉,自动剔除,剩下的继续轮询。

2)、权重——you can you up

通过配置权重,指定轮询几率,权重和访问比率成正比,用于应用服务器性能不均的情况。

3)、ip_哈希算法

每个请求按访问ip的hash结果分配,这样每个访客固定访问一个应用服务器,可以解决session共享的问题。

8.更多讨论

详见视频:


undefined_腾讯视频

问:根据什么原则向各个服务器分配请求,是当一个服务器无法处理一定数量的请求时才分给另一个吗?

答:轮询、权重、ip_hash。默认轮询的话,当一台服务器down掉自动分配给另一个

问:那个ip_hash是记录电脑IP 然后指定端口吗?

答:是根据请求的客户端的ip生成hash值,记录改ip第一次访问分配的服务器,以后就一直访问这个。优点是可以解决session共享的问题,缺点是加大了分配的服务器压力

技能树.IT修真院

“我们相信人人都可以成为一个工程师,现在开始,找个师兄,带你入门,掌控自己学习的节奏,学习的路上不再迷茫”。

这里是技能树.IT修真院,成千上万的师兄在这里找到了自己的学习路线,学习透明化,成长可见化,师兄1对1免费指导。快来与我一起学习吧

直接点击此链接:http://www.jnshu.com/login/1/18302507

相关文章

网友评论

      本文标题:什么是nginx,什么是负载均衡??

      本文链接:https://www.haomeiwen.com/subject/xxvpgxtx.html