美文网首页
nginx常见面试题

nginx常见面试题

作者: 味道_3a01 | 来源:发表于2018-08-22 11:50 被阅读793次

1. 单点故障解决方案

Keepalived + nginx 实现nginx的高可用

通过keepalived来实现同一个虚拟IP映射到两台Nginx代理服务器,如果主服务器挂掉或者主服务器的keepalived挂掉又或者主服务器的Nginx挂掉(Nginx挂掉后会杀死keepalived的进程,在脚本中有控制)那从服务器的keepalived会检测到并会接管原先MASTER的网络功能,这种方式来实现Nginx的高可用性(如上文中的keepalived简要介绍)

详细介绍

2. 负载均衡策略

负载均衡的策略可以大致分为两大类:内置策略扩展策略内置策略:一般会直接编译进Nginx内核,常用的有、轮询、ip hash、最少连接扩展策略:fair、url hash等

轮询

每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。

轮询加权:指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

ip_hash(ip绑定)

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

最少连接(least_conn)

下一个请求将被分派到活动连接数量最少的服务器

fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

调度策略 含义
轮询 按照时间顺序,逐一分配到不同的后端服务器
加权轮询 weight值越大,分配到的访问几率越高
ip_hash 每个请求按访问IP的hash结果分配,这样来自同一个IP的请求固定访问一个后端服务器,可以解决分布式session问题,但不是最优的解决办法,另一个即集中式session存储校验,将session放到redis集群当中。
url_hash 按照访问的URL的hash结果来分配请求,使一个URL始终定向到同一个后端服务器
less_conn 最少连接数,哪个机器连接数少,就分发
hash关键数值 hash自定义的key
关注公众号,获取海量免费java进阶视频

相关文章

网友评论

      本文标题:nginx常见面试题

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