8月9日上课内容 nginx负载均衡

这篇具有很好参考价值的文章主要介绍了8月9日上课内容 nginx负载均衡。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

负载均衡工作当中用的很多的,也是面试会问的很重要的一个点

负载均衡:通过反向代理来实现(nginx只有反向代理才能做负载均衡)

正向代理的配置方法(用的较少)

反向代理的方式:四层代理与七层代理

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

1、NGINX的七层代理和四层代理:

七层代理最常用的反向代理方式,只能配置在nginx配置文件的http模块中。而且配置方法名称叫:upstream模块,不能写在server中,也不能写在location中,在http模块当中是独立的一个配置(模块)。

七层代理:七层代理的就是http请求和响应。

客户端------>http请求------>七层代理(代理服务器上)------>代理服务器转发http请求到内部的一组服务器(web集群)

-------------->客户端不知道请求的是代理服务器还是内部服务器,而且通过代理服务器隐藏了内部服务器的ip。

实际上访问的是代理服务器,请求到代理,代理转发给web服务器。web服务器响应。

注:代理服务器只是负责转发,最终还是由web服务器来响应用户的。

四层代理:四层代理是基于tcp/ip协议的代理转发方式(四层就是传输层,协议),可以实现基于ip地址和端口进行负载均衡转发。 

四层代理无法获取http请求当中的URL信息,只能对tcp或者udp的数据包进行转发。流量转发stream,stream是不能配置在http模块中的,配置在全局当中。是属于一个独立的模块,不属于其他任何模块。

四层代理和七层代理之间的区别(面试题,重点)

1、七层走的是http请求四层走的是tcp/udp的数据包,转发的是流量。

七层代理http请求,可以对请求进行深入的解析和处理流量控制,内容的过滤

四层代理不能进行流量的控制,也没办法对内容进行过滤。

四层代理通常适用于:需要处理大量连接请求的场景。

七层:对请求进行精确处理和控制的场景。

在实际工作中,四层和七层可以配合使用。

2、四层代理和七层代理谁的速度快(核心):

四层代理速度比七层代理速度快

1、四层只是流量转发,不能对请求进行解析和控制,所以速度快。

2、四层代理走的是内核,内核转发的流量,所以速度快。

1、七层慢,他对请求进行解析和处理,速度比较慢

2、七层走的是用户态,访问控制,流量处理,所以速度比较慢。

七层代理可以提供更高级的服务和更高的用户体验。

正向代理:

proxy_pass 配置代理服务器访问的地址,只能写在location模块当中。 

例:

nginx1

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

nginx2

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

 8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

访问看一下日志文件

流量是通过代理服务器61来访问的

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

反向代理:客户端访问代理服务器,代理服务器转发请求或者流量到后端服务器,后端的web服务器会有多台,用户并不知道最终访问的服务器是哪一台服务器。

主要作用:负载均衡 高可用 可扩展 提高可维护性

你在工作中怎么做反向代理?实现方式是什么?(面试题,重点)

upstring:基于http实现负载均衡。就是反向代理。

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

调用ky30

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

修改一下62 63的配置 

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

 8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

通过61这个代理服务器把流量转发到62 63上

用轮询算法,分给test1 test2

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

upstream:基于http实现负载均衡。也就是反向代理

1、http请求的负载均衡方式

2、没有缓存

3、负载均衡的算法(实现方式,重点,掌握)

1、默认算法:轮询算法 rr 请求轮流分配给后端服务器,轮询算法适用于web服务器处理能力相近的情况,默认算法,可以不加。

2、加权轮询:

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

检查一下语法:

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

访问一下

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

2、加权轮询:建立在轮询算法的基础之上,通过给不同的web服务器权重,让处理能力更强的服务器可以分配到更多的请求。虽然配置了权重值,但是轮询的结果未必准确。

3、ip_hash:根据ip地址计算出一个hash值,使用ip_hash的算法,同一个客户端的请求,会被分配到同一个后端服务器上,保证会话的稳定性。如果后端服务器的数量发生变化,hash会被重新计算,请求的服务器也会发生变化。

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

请求一下:

发现第一次请求之后,再请求的状态码都是304,读取的是缓存,且每次请求访问的都是同一个服务器。

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

4、最少连接数:least_conn;轮询,会把请求发送到当前连接数最少的后端服务器。

适用于后端服务器处理任务耗时不同的情况,避免了所有请求集中在处理能力更强的服务器上。会和加权轮询配合使用。

5、url_hash:

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

 8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

清一下缓存,开一下新的终端,看一下

发现每次的请求也会分配到同一个服务器

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

换一个客户机访问一下:

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

发现请求的是location匹配的是uri,请求的也是同一个服务器

5、url_hash:根据uri地址计算hash值,使用url hash,相同请求的uri会分配到同一个后端服务器。

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

算法应用总结:

小场景:并发量很小,默认算法就可以满足适用条件

后端web服务器的处理能力有差异:加权轮询,和最小连接数配合使用。

大型并发:ip_hash,url_hash。第一次请求之后,会有本地缓存,而且因为hash算法的原因,请求的后台web服务器不会发生变化,可以提高访问速度,访问的是缓存(所以快)。减轻了后台服务器的请求压力。

注意:ip_hash,后端web服务器数量发生变化,请求的服务器也可能会发生变化。

url_hash,请求的地址发生变化,请求的服务器也可能会发生变化。

你怎么做反向代理的?概括总结

反向代理--->负载均衡--->算法--->根据不同的场景(并发量)选择不同的算法

反向代理就是负载均衡,你要做负载均衡,看你的场景并发量,访问人数有多少。根据这个指标,来确定负载均衡的算法。

并发小:默认轮询或者加权轮询,配合最小连接数使用即可。

高并发:ip_hash或者url_bash来实现,访问一次之后就不会再切换后端服务器。下一次访问的就是缓存,速度快,后台服务器请求的压力,也会变小。(仅限于http请求,不能写在stream里)

stream可以用加权,可以用轮询,转发流量不能基于ip_hash和url_hash

实验:基于域名来实现负载均衡

nginx1

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

配置完需要在本地做一个配置

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

nginx2 后台代理服务器配置

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

nginx3 后台服务器配置

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

都需要做本地映射

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

改完在撰写栏写一个重启nginx服务的命令

这样就三台机器可以同时执行重启命令

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

用test1作为客户端

映射服务器

映射地址是61,因为访问test,通过test这个代理服务器的地址来进行转发,所以配置的是test

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

虽然设置了域名,host地址还没有被传到后端服务器,所以无法解析,是404

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

在代理服务器上nginx1配,location模块中配置,把头部信息传给后端服务器

主机地址和真实ip地址写进去

请求头要包含主机名和真实的ip地址

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

配置完之后重启一下服务即可

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

访问没问题,再改一下访问地址

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

客户机直接访问,没问题,说明没问题

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

再到虚拟机中访问一下:

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

 8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

访问成功

四层代理:

stream单独一个模块,stream模块里面再单独配置一个server模块,调用upstream的server方法

配置端口号,让四层能够转发

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

检查一下,发现错误:

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

看一下日志

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

80端口被占用,把server端口改一下

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

再重启一下nginx,用浏览器访问一下,成功

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

也可以实现轮询

8月9日上课内容 nginx负载均衡,nginx,负载均衡,运维

实验总结:

1、七层:

http根据ip地址

根据域名

2、四层

stream

ip_hash

轮询:默认 rr

           加权

最小连接数 

注:匹配uri不行

默认不带轮询

要想它轮询得加权文章来源地址https://www.toymoban.com/news/detail-638363.html

到了这里,关于8月9日上课内容 nginx负载均衡的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 8月8日上课内容 研究nginx组件rewrite

    location 匹配的规则和优先级。(重点,面试会问,必须理解和掌握) nginx常用的变量,这个要求掌握 rewrite:重定向功能。有需要掌握,有需要理解的。 location匹配: 正则表达式: 元字符: . :任意单个字符,包括汉字         .转义符才表示. ^:起始位置 $:结束位置

    2024年02月13日
    浏览(39)
  • 8月11日上课内容 nginx的多实例和动静分离

    在一台服务器上有多个tomcat的服务。 配置多实例之前,看单个实例是否访问正常。 cd /opt tar zxvf apache-tomcat-9.0.16.tar.gz mkdir /usr/local/tomcat mv apache-tomcat-9.0.16 /usr/local/tomcat/tomcat1 cp -a /usr/local/tomcat/tomcat1 /usr/local/tomcat/tomcat2 vim /etc/profile.d/tomcat.sh #tomcat1 export CATALINA_HOME1=/usr/local/to

    2024年02月13日
    浏览(36)
  • 【Nginx】Nginx负载均衡

    ❤️ 完整使用方式和介绍可以查看 Nginx官方文档 → Nginx官方 Using nginx as HTTP load balancer 如下图: round-robin — requests to the application servers are distributed in a round-robin fashion, 以循环模式分发对服务器的请求,写法如下: upstream 块,定义了一组服务,后边跟这一组服务的名称:my

    2024年02月12日
    浏览(70)
  • NGINX负载均衡及LVS-DR负载均衡集群

    原理 : 1. 当用户向负载均衡调度器(Director Server)发起请求,调度器将请求发往至内核空间 2. PREROUTING链首先会接收到用户请求,判断目标IP确定是本机IP,将数据包发往INPUT链 3. IPVS是工作在INPUT链上的,当用户请求到达INPUT时,IPVS会将用户请求和自己已定义好的集群 服务进

    2024年02月13日
    浏览(49)
  • nginx的各种负载均衡策略与各种负载均衡策略如何配置

    Nginx支持多种负载均衡策略,每种策略都有其特定的适用场景和配置方式。以下是一些常见的Nginx负载均衡策略及其配置方法: 这是Nginx的默认策略,每个请求按顺序依次分发到不同的服务器上。 配置示例: 在轮询的基础上,为后端服务器分配不同的权重,权重越高,接收的

    2024年04月09日
    浏览(46)
  • nginx自定义负载均衡及根据cpu运行自定义负载均衡

    转载请注明出处: 在Nginx中,可以通过配置文件自定义负载均衡策略。具体步骤如下: 首先,在Nginx配置文件中定义一个upstream模块,并设置负载均衡策略和后端服务器列表,例如: 其中,myapp是一个自定义的upstream名称,backend1.example.com、backend2.example.com、backend3.example.com是后

    2023年04月16日
    浏览(49)
  • Nginx 反向代理负载均衡

    Nginx 反向代理负载均衡 普通的负载均衡软件,如 LVS,其实现的功能只是对请求数据包的转发、传递,从负载均衡下的节点服务器来看,接收到的请求还是来自访问负载均衡器的客户端的真实用户;而反向代理就不一样了,反向代理服务器在接收访问用户请求后,会代理用户

    2024年02月03日
    浏览(54)
  • Nginx负载均衡配置实例

    介绍: 增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的 情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负 载均衡 客户端发送多个请求到服务器,服务器处理请求,有一些可能要与数据库进行交互

    2024年02月15日
    浏览(48)
  • NGINX配置负载均衡算法

    配置负载均衡服务器涉及到选择负载均衡算法、配置后端服务器、设置健康检查等多个方面。以下是一个简单的负载均衡服务器配置的示例,使用 Nginx 作为负载均衡器: 安装 Nginx: 如果还没有安装 Nginx,请先安装它。在 Ubuntu 上,可以使用以下命令: 配置负载均衡: 编辑

    2024年01月20日
    浏览(42)
  • nginx配置实例-负载均衡

    目录 一、目的:实现效果 二、准备工作 三、实验部署 3.1修改第二台Tomcat服务器的监听端口为8081 3.2修改完成后,重新启动tomcat8081这台服务器。 3.3在浏览器测试 3.4在两台tomcat里面webapps目录中,创建名称是edu的文件夹,在edu文件夹中创建页面,用于测试。 3.5修改nginx配置文件

    2024年04月12日
    浏览(74)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包