运维面试精选:1、史上最详细的Nginx、LVS、HAProxy负载均衡精选面试题

文章目录

  • 1、nginx 如何做优化
  • 2、nginx upsteam有哪几种轮训方式?
  • 3、Nginx怎样对同一IP访问进行限流?
  • 4、Nginx 如何获取客户端的真实IP?
  • 5、Nginx 如何设置跨域?
  • 6、Nginx location 优先级是怎么样的?
  • 7、nginx rewrite 是怎样进行重写的?
  • 8、Nginx 反向代理与正向代理区别
  • 9、stub_status和sub_filter指令的作用是什么?
  • 10、Nginx和Apache 之间的不同点
  • 11、Nginx 和LVS的区别
  • 12、Nginx、LVS、haproxy区别
  • 13、Nginx上的Master和Worker进程分别是什么?
  • 14、Nginx如何处理HTTP请求
  • 15、large_client_header_buffers指令设置的含义:
  • 16、LVS负载均衡调度算法
  • 17、Nginx调度算法
  • 18、如何能让upsteam到一台机器上

1、nginx 如何做优化

* 隐藏版本号
* 修改用户和组
* expires缓存(一般是图片)
* 日志切割 
* 设置超时时间
    keepalive_timeout   #设置超时时间
    client_header_timeout  #指定请求头的超时时间
    client_body_timeout    #设置请求体超时时间
* Gzip压缩
Nginx_http_gzip_module压缩模块提供了对文件压缩的功能,以节约网站的带宽,提高用户的访问体验
默认Nginx已经安装该模块
    gzip on    #开启gzip压缩输出
    gzip_buffers 4 64;   #表示申请了4个单位为64kb的内存作为压缩结果流缓存
    gzip_http_version 1.1  #用于设置http协议版本
    gzip_min_length     #设置允许页面的最小字节
    gzip_vary on;       #让前端的缓存服务器缓存就经过的gzip压缩页面
* 防盗链
Nginx防盗链的原理是加入location项,用正则表达式过滤图片类型文件,对于信任的网站可以正常使用,对于不信任的网址则返回相应的错误页面
     [root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
          location ~*.(jpg|gif|swf)$ {
            valid_referers none blocked *.benet.com benet.com;
            if ( $invalid_referer ) {
               rewrite ^/ http://www.benet.com/error.png;
            }
         }
    ~*.(jpg|gif|swf)$: 匹配不区分大小写,以.jpg 或.gif或 .swf结尾的文件。
    valid_referers:设置信任的网站,可以正常使用图片。
    none:浏览器中refer为空的情况,就是直接在浏览器访问图片。
    blocked:浏览器中refer不为空的情况,但是值被代理或防火墙删除了,这些值不以http://或 https://开头。
    后面的网址或域名:refer包含相关字符串的网址。
    if语句:如果链接的来源域名不在valid_referers所列出的列表中, $invalid_referer 为1,则执行后面的操作,即进行重写或返回403页面。

2、nginx upsteam有哪几种轮训方式?

nginx的反向代理模块主要是基于upstream实现的,使用一般的upstream方式,其中upstream主要分为三种模式

1、RR轮询: 默认的反向代理模式,用以平衡各个服务器的负载,若某个服务器宕机,会自动从轮询中剃掉。同时,可以手动指定某台服务器脱离轮询,用于离线检查
2、weight 权重: 针对服务器性能不通,用来控制服务器被访问的比例,以实现老客户访问时的快速调度
3、ip bash,主要记录了客户端IP访问的目标主机,以实现老用户访问的快速调度

3、Nginx怎样对同一IP访问进行限流?

Nginx使用limit_req_zone对同一IP访问进行限流

首先在nginx.conf中的http模块下配置

limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
区域名称one(自定义),占用空间大小为10m,平均处理请求速度不能超过每秒一次
在http模块的子模块server下配置
    location ~* .htm$ {
    limit_req zone=one burst=5  nodelay;
    proxy_pass http://backend_tomcat;
    }
burst 缓冲队列的长度
nodelay 不延迟
  • 真正对限流起作用的就是rate=1r/s和burst=5这2个配置

4、Nginx 如何获取客户端的真实IP?

使用forwarded-fr获取真实IP

5、Nginx 如何设置跨域?

首先我们要知道什么是跨域,跨域指的是浏览器不能执行其他网站的脚本,它是由浏览器的同源策略造成的,是浏览器对JavaScript施加的安全限制
举例:A页面想获取B页面资源,如果a,b页面的协议、端口、域名、子域名不同,所进行的所有访问请求都是跨域的,而浏览器一般为了安全都限制跨域请求,也就是不允许跨域请求资源。注意:跨域其实是浏览器的限制!
如何解决跨域请求?
Access-Control-Allow-Origin: http://api.bob.com
Access-Control-Allow-Credentials: true
Access-Control-Expose-Headers: FooBar
Content-Type: text/html; charset=utf-8

  • Access-Control-Allow-Origin
    这里大概意思是允许跨域的域名,可以写一个域名,或者写* 代表所有

  • Access-Control-Allow-Credentials
    表示是否允许发送Cookie,默认情况下,Cookie不包括在CORS请求之中。设置为true,表示服务器明确许可,Cookie可以包含在请求中,一起发给服务器,如果服务器不需要浏览器发送的Cookie,删除该字段即可

  • Access-Control-Expose-Headers
    示请求头的字段 动态获取

6、Nginx location 优先级是怎么样的?

~ 表示执行一个正则匹配,区分大小写
~* 表示执行一个正则匹配,不区分大小写
^~ 表示普通字符匹配。使用前缀匹配,如果匹配,则不再匹配其他location
= 进行普通字符精准匹配
@ 它定义一个命名的location,使用在内部定向时,

location优先级说明

在nginx的location和匹配中的location的顺序没有太大关系。正location表达式的类型有关。相同类型的表达式,字符串长的会优先匹配

等号类型(=)的优先级最高,一旦匹配成功,则不再查找其他匹配项
^~ 类型表达式,一旦匹配成功,则不再查找其他匹配项
正则表达式(~ ~*)的优先级次之,如果多个location的正则能匹配的话,则使用正则表达式最长的那个

7、nginx rewrite 是怎样进行重写的?

rewrite功能就是,使用nginx提供的全局变量或者自己设置的变量,结合正则表达式和标志位实现url重写及重定向。rewrite只能放在server location if中,并且只能对域名后面的除去参数外的字符串起作用

nginx 常用模块有哪些?

                             Nginx 内置模块
模块名词 模块解释
http_ssl_module 模块为HTTPS提供必要的支持,需要使用openssl
http_flv_module 通过返回以请求偏移位置开始的文件内容,该模块专门处理 在查询串中有start参数的请求, 和有预先设置到FLV头部的请求。
http_gzip_static_module 允许发送以“.gz”作为文件扩展名的预压缩文件,以替代发送普通文件。
http_stub_status_module nginx基础查询模块,可以查看连接数、请求书、header请求信息等
http_secure_link_module nginx安全下载模块可以给服务器文件链接添加时间戳和校验码,从而保护服务器文件不被任意下载盗用
http_random_index_module 可在目录中选择随机主页
http_realip_module 用于接受前端发来的 IP head 信息,从获取到真是的用户IP
http_addition_module 响应之前或者之后追加文本内容,比如想在站点底部追加一个js或者css,可以使用这个模块来实现,这个模块和淘宝开发的nginx footer模块有点类似,但是还是有不同. 这个模块需要依赖子请求,nginx footer依赖nginx写死的配置
http_sub_module 该模块是一个过滤器,它修改网站响应内容中的字符串,比如你想把响应内容中的‘abcdocker’全部替换成‘aaaaa‘
http_dav_module 该模块是一种基于 HTTP 1.1协议的通信协议。它扩展了HTTP 1.1,在GET、POST、HEAD等几个HTTP标准方法以外添加了一些新的方法,使应用程序可直接对Web Server直接读写,并支持写文件锁定(Locking)及解锁(Unlock),还可以支持文件的版本控制
http_perl_module 模块用于在Perl中实现位置和变量处理程序,并将Perl调用插入SSL。需要安装perl-devel perl-ExtUtils-Embed
http_geoip_module 使用预编译的MaxMind数据库解析客户端IP地址,得到变量值
http_xslt_module 该模块是一个使用多个 XSLT stylesheets(样式表)将xml相应进行相应变换的过滤器模块。
http_mp4_module 主要是以 .mp4、.m4v、和.m4a为扩展名的文件, 提供伪流媒体服务端支持。
                            Nginx第三方模块
模块名词 模块解释
headers-more-nginx-module-master 自定义请求头模块
ngx_http_substitutions_filter_module 有时候需要使用Nginx的反向代理某站点,并通过 httpsubmodule 和ngx_http_substitutions_filter_module
nginx_upstream_check_module-master nginx自带是没有针对负载均衡后端节点的健康检查的,但是可以通过默认自带的ngx_http_proxy_module模块和ngx_http_upstream_module模块中的相关指令来完成当后端节点出现故障时,自动切换到健康节点来提供访问,但是还会有请求转发到后端的这台后端节点上面去
lua-nginx-module 该模块将Lua解释器或LuaJIT 2嵌入到nginx内核中,并通过cosocket和Nginx子请求将功能强大的Lua线程(又名Lua协程)集成到Nginx事件模型中。
ngx_cache_purge-master 此模块可以清理 nginx 的 FastCGI、proxy、 SCGI 和 uWSGI 的缓存
echo-nginx-module-master 提供直接在 Nginx 配置使用包括 “echo”, “sleep”, “time” 等指令。
ngx_devel_kit 它具有处理通用任务的功能和宏,这些任务目前没有通用代码作为核心发行版的一部分。NDK本身增加了一些从用户角度来看的功能-旨在帮助减少Nginx模块开发人员需要编写的代码。

8、Nginx 反向代理与正向代理区别

正向代理

正向代理 是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。客户端必须要进行一些特别的设置才能使用正向代理。就像要访问google用代理去访问

反向代理

对于客户端而言它就像是原始服务器,并且客户端不需要进行任何特别的设置。客户端向反向代理 的命名空间(name-space)中的内容发送普通请求,接着反向代理将判断向何处(原始服务器)转交请求,并将获得的内容返回给客户端,就像这些内容 原本就是它自己的一样。(用户不知道要访问真正的服务器)

以租房子为大家解释正向代理和反向代理

正向代理:客户端 <一> 代理 一>服务端
A(客户端)想租C(服务端)的房子,但是A(客户端)并不认识C(服务端)租不到。
B(代理)认识C(服务端)能租这个房子所以你找了B(代理)帮忙租到了这个房子。
这个过程中C(服务端)不认识A(客户端)只认识B(代理)
C(服务端)并不知道A(客户端)租了房子,只知道房子租给了B(代理)。

反向代理:客户端 一>代理 <一> 服务端
A(客户端)想租一个房子,B(代理)就把这个房子租给了他。
这时候实际上C(服务端)才是房东。
B(代理)是中介把这个房子租给了A(客户端)。
这个过程中A(客户端)并不知道这个房子到底谁才是房东
他都有可能认为这个房子就是B(代理)的

由上的例子我们可以知道正向代理和反向代理的区别在于代理的对象不一样,正向代理的代理对象是客户端,反向代理的代理对象是服务端。

9、stub_status和sub_filter指令的作用是什么?

1、Stub_status指令: 该指令用于了解Nginx当前状态的当前状态,如当前的活动连接,接受和处理当前读/写/等待连接的总数

2、Sub_filter指令: 它用于搜索和替换响应中的内容,并快速修复陈旧的数据

10、Nginx和Apache 之间的不同点

Nginx Apache
Nginx是一个基于事件的web服务器 Apache是一个基于流程服务器
所有请求都由一个线程处理 单个线程处理单个请求
Nginx避免子进程的概念 Apache是基于子进程的
Nginx类似于速度 Apache类似于功率
Nginx在内存消耗和连接方面比较好 Apache在内存消耗和连接上并没有提高
Nginx在负载均衡方面表现较好 当流量到达进程的极限时,Apache将拒绝新的连接
对于PHP来说,Nginx可能更可取,因为它支持PHP Apache支持的PHP,Python,Perl和其他语言使用插件,当应用程序基于Python或Ruby时,它非常有用
Nginx不支持像IBMi和OpenVMS一样的OS Apache支持更多OS
Nginx只具有核心功能 Apache提供了比Nginx更多的功能
Nginx的性能和可伸缩不依赖于硬件 Apache依赖于CPU和内存等硬件组件

11、Nginx 和LVS的区别

1、高并发连接:官方测试能够支撑5万并发连接,在实际生产环境中跑到2——3万并发连接数。
2、内存消耗少:在3万并发连接数下,开启的10个nginx进程才消耗150M内存(150*10=150M)。
3、配置文件非常简单:风格跟程序一样通俗易懂。
4、成本低廉:nginx为开源软件,可以免费使用。而购买F5 big-ip、netscaler等硬件负载均衡交换机则需要十多万至几十万人民币。
5、支持rewrite重写规则:能够根据域名、url的不同,将http请求分到不同的后端服务器群组。
6、内置的健康检查功能:如果nginx proxy后端的某台web服务器宕机了,不会影响前端访问。
7、节省带宽:支持gzip压缩,可以添加浏览器本地缓存的header头。

12、Nginx、LVS、haproxy区别

Nginx 优点

  • 工作在网络的7层之上,可以针对http应用做一些分流的策略,比如针对域名、目录结构,它的正则规则比HAProxy更为强大和灵活,这也是它目前广泛流行的主要原因之一,Nginx单凭这点可利用的场合就远多于LVS了。
  • Nginx对网络稳定性的依赖非常小,理论上能ping通就就能进行负载功能,这个也是它的优势之一;相反LVS对网络稳定性依赖比较大。
  • Nginx安装和配置比较简单,测试起来比较方便,它基本能把错误用日志打印出来。LVS的配置、测试就要花比较长的时间了,LVS对网络依赖比较大。
  • 可以承担高负载压力且稳定,在硬件不差的情况下一般能支撑几万次的并发量,负载度比LVS相对小些。
  • Nginx可以通过端口检测到服务器内部的故障,比如根据服务器处理网页返回的状态码、超时等等,并且会把返回错误的请求重新提交到另一个节点,不过其中缺点就是不支持url来检测。比如用户正在上传一个文件,而处理该上传的节点刚好在上传过程中出现故障,Nginx会把上传切到另一台服务器重新处理,而LVS就直接断掉了,如果是上传一个很大的文件或者很重要的文件的话,用户可能会因此而不满。
  • Nginx不仅仅是一款优秀的负载均衡器/反向代理软件,它同时也是功能强大的Web应用服务器。LNMP也是近几年非常流行的web架构,在高流量的环境中稳定性也很好。
  • Nginx现在作为Web反向加速缓存越来越成熟了,速度比传统的Squid服务器更快,可以考虑用其作为反向代理加速器。
  • Nginx可作为中层反向代理使用,这一层面Nginx基本上无对手,唯一可以对比Nginx的就只有 lighttpd了,不过 lighttpd目前还没有做到Nginx完全的功能,配置也不那么清晰易读,社区资料也远远没Nginx活跃。
  • Nginx也可作为静态网页和图片服务器,这方面的性能也无对手。还有Nginx社区非常活跃,第三方模块也很多。

Nginx 缺点

  • Nginx仅能支持http、https和Email协议,这样就在适用范围上面小些,这个是它的缺点。
  • 对后端服务器的健康检查,只支持通过端口来检测,不支持通过url来检测。不支持Session的直接保持,但能通过ip_hash来解决。

LVS 优点

  • 抗负载能力强、是工作在网络4层之上仅作分发之用,没有流量的产生,这个特点也决定了它在负载均衡软件里的性能最强的,对内存和cpu资源消耗比较低。
  • 配置性比较低,这是一个缺点也是一个优点,因为没有可太多配置的东西,所以并不需要太多接触,大大减少了人为出错的几率。
  • 工作稳定,因为其本身抗负载能力很强,自身有完整的双机热备方案,如LVS+Keepalived。
  • 无流量,LVS只分发请求,而流量并不从它本身出去,这点保证了均衡器IO的性能不会受到大流量的影响。
  • 应用范围比较广,因为LVS工作在4层,所以它几乎可以对所有应用做负载均衡,包括http、数据库、在线聊天室等等。

LVS 缺点

  • 软件本身不支持正则表达式处理,不能做动静分离;而现在许多网站在这方面都有较强的需求,这个是Nginx/HAProxy+Keepalived的优势所在。
  • 如果是网站应用比较庞大的话,LVS/DR+Keepalived实施起来就比较复杂了,特别后面有 Windows Server的机器的话,如果实施及配置还有维护过程就比较复杂了,相对而言,Nginx/HAProxy+Keepalived就简单多了。

HAProxy优点

  • HAProxy也是支持虚拟主机的。
  • HAProxy的优点能够补充Nginx的一些缺点,比如支持Session的保持,Cookie的引导;同时支持通过获取指定的url来检测后端服务器的状态。
  • HAProxy跟LVS类似,本身就只是一款负载均衡软件;单纯从效率上来讲HAProxy会比Nginx有更出色的负载均衡速度,在并发处理上也是优于Nginx的。
  • HAProxy支持TCP协议的负载均衡转发,可以对MySQL读进行负载均衡,对后端的MySQL节点进行检测和负载均衡,大家可以用LVS+Keepalived对MySQL主从做负载均衡。
  • HAProxy负载均衡策略非常多,HAProxy的负载均衡算法现在具体有如下8种:
算法 详解
roundrobin 表示简单的轮询,这个不多说,这个是负载均衡基本都具备的;
static-rr 表示根据权重,建议关注;
leastconn 表示最少连接者先处理,建议关注;
source 表示根据请求源IP,这个跟Nginx的IP_hash机制类似,我们用其作为解决session问题的一种方法,建议关注;
ri 表示根据请求的URI;
rl_param 表示根据请求的URl参数’balance url_param’ requires an URL parameter name;
hdr(name) 表示根据HTTP请求头来锁定每一次HTTP请求;
rdp-cookie(name) 表示根据据cookie(name)来锁定并哈希每一次TCP请求。

13、Nginx上的Master和Worker进程分别是什么?

Master进程:读取及评估配置和维持
Worker进程:处理请求

14、Nginx如何处理HTTP请求

运维面试精选:1、史上最详细的Nginx、LVS、HAProxy负载均衡精选面试题_第1张图片

1、三次握手后 系统内核收到请求根据端口负载均衡的分配到某个worker
2、nginx 会分配一个512byte链接内存池
3、初始化nginx的http模块并等待用户请求,假设用户在client_header_timeout指令设置的值内还没再次请求,则链接超时
4、处理用户发送请求(处理链接和处理请求还是有很大区别的,以下是处理请求操作需要校验请求头等)

运维面试精选:1、史上最详细的Nginx、LVS、HAProxy负载均衡精选面试题_第2张图片

15、large_client_header_buffers指令设置的含义:

4 8k 并不是48k nginx先会分配8k内存假设header超过第一次分配的8k 则再会分配第二个8k 也就是 16k 那么 4 8k 真正意思是 最多分配4个8k也就是32k

LVS几种模式

DR模型 – (Director Routing-直接路由)
NAT模型 – (NetWork Address Translation-网络地址转换)
fullNAT – (full NAT,双向数据包都进行SNAT与DNAT)
ENAT --(enhence NAT 或者叫三角模式/DNAT)
IP TUN模型 – (IP Tunneling - IP隧道)

16、LVS负载均衡调度算法

1.轮询调度

轮询调度(Round Robin 简称’RR’)算法就是按依次循环的方式将请求调度到不同的服务器上,该算法最大的特点就是实现简单。轮询算法假设所有的服务器处理请求的能力都一样的,调度器会将所有的请求平均分配给每个真实服务器。

2.加权轮询调度

加权轮询(Weight Round Robin 简称’WRR’)算法主要是对轮询算法的一种优化与补充,LVS会考虑每台服务器的性能,并给每台服务器添加一个权值,如果服务器A的权值为1,服务器B的权值为2,则调度器调度到服务器B的请求会是服务器A的两倍。权值越高的服务器,处理的请求越多。

3.最小连接调度

最小连接调度(Least Connections 简称’LC’)算法是把新的连接请求分配到当前连接数最小的服务器。最小连接调度是一种动态的调度算法,它通过服务器当前活跃的连接数来估计服务器的情况。调度器需要记录各个服务器已建立连接的数目,当一个请求被调度到某台服务器,其连接数加1;当连接中断或者超时,其连接数减1。(集群系统的真实服务器具有相近的系统性能,采用最小连接调度算法可以比较好地均衡负载。)

4.加权最小连接调度

加权最少连接(Weight Least Connections 简称’WLC’)算法是最小连接调度的超集,各个服务器相应的权值表示其处理性能。服务器的缺省权值为1,系统管理员可以动态地设置服务器的权值。加权最小连接调度在调度新连接时尽可能使服务器的已建立连接数和其权值成比例。调度器可以自动问询真实服务器的负载情况,并动态地调整其权值。

5.基于局部的最少连接

基于局部的最少连接调度(Locality-Based Least Connections 简称’LBLC’)算法是针对请求报文的目标IP地址的 负载均衡调度,目前主要用于Cache集群系统,因为在Cache集群客户请求报文的目标IP地址是变化的。这里假设任何后端服务器都可以处理任一请求,算法的设计目标是在服务器的负载基本平衡情况下,将相同目标IP地址的请求调度到同一台服务器,来提高各台服务器的访问局部性和Cache命中率,从而提升整个集群系统的处理能力。LBLC调度算法先根据请求的目标IP地址找出该目标IP地址最近使用的服务器,若该服务器是可用的且没有超载,将请求发送到该服务器;若服务器不存在,或者该服务器超载且有服务器处于一半的工作负载,则使用’最少连接’的原则选出一个可用的服务器,将请求发送到服务器。

6.带复制的基于局部性的最少连接

带复制的基于局部性的最少连接(Locality-Based Least Connections with Replication 简称’LBLCR’)算法也是针对目标IP地址的负载均衡,目前主要用于Cache集群系统,它与LBLC算法不同之处是它要维护从一个目标IP地址到一组服务器的映射,而LBLC算法维护从一个目标IP地址到一台服务器的映射。按’最小连接’原则从该服务器组中选出一一台服务器,若服务器没有超载,将请求发送到该服务器;若服务器超载,则按’最小连接’原则从整个集群中选出一台服务器,将该服务器加入到这个服务器组中,将请求发送到该服务器。同时,当该服务器组有一段时间没有被修改,将最忙的服务器从服务器组中删除,以降低复制的程度。

7.目标地址散列调度

目标地址散列调度(Destination Hashing 简称’DH’)算法先根据请求的目标IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且并未超载,将请求发送到该服务器,否则返回空。

8.源地址散列调度U

源地址散列调度(Source Hashing 简称’SH’)算法先根据请求的源IP地址,作为散列键(Hash Key)从静态分配的散列表找出对应的服务器,若该服务器是可用的且并未超载,将请求发送到该服务器,否则返回空。它采用的散列函数与目标地址散列调度算法的相同,它的算法流程与目标地址散列调度算法的基本相似。

9.最短的期望的延迟

最短的期望的延迟调度(Shortest Expected Delay 简称’SED’)算法基于WLC算法。举个例子吧,ABC三台服务器的权重分别为1、2、3 。那么如果使用WLC算法的话一个新请求进入时它可能会分给ABC中的任意一个。使用SED算法后会进行一个运算

A:(1+1)/1=2   B:(1+2)/2=3/2   C:(1+3)/3=4/3   就把请求交给得出运算结果最小的服务器。

10.最少队列调度

最少队列调度(Never Queue 简称’NQ’)算法,无需队列。如果有realserver的连接数等于0就直接分配过去,不需要在进行SED运算。

17、Nginx调度算法

1.轮询 rr

按时间顺序逐一分配到不同的后端服务器

2.加权轮询 wrr

在nginx server后面配置权重,权重越高分配的概率越大

3.ip_hash

每个请求按访问IP的hash分配,这样来自同一IP固定访问一个后端服务器

4.least_hash

最少连接数,哪个机器连接数少就发给哪台机器

5.url_hash

按访问的url的hash结果分配请求,是每个url定向到同一后端服务器上

6.hash关键值

自定义hash的key

注: 调度算法在设置upstream中配置,例如在此大括号里写如ip_hash表示使用ip_hash的方式
1、轮询只是简单实现请求的顺序转发,并没有考虑不同服务器的性能差异;
2、加权轮询设置了初始时服务器的全站,但是没有考虑运行过程中的服务器状态
3、IP Hash保证同一客户端请求转发到同一后台服务器实现了session保存,然而当某一后台服务器发生故障时,某些客户端将访问失败;
4、最少连接数只是考虑了后端服务器的连接数情况,并没有完全考虑服务器的整体性能

18、如何能让upsteam到一台机器上

使用ip_bash

你可能感兴趣的:(Linux,#,运维面试题精选,nginx,面试,lvs,Nginx面试,运维)