常用知识点问答

目录

描述 Nginx location转发时root和alias指定路径的区别?

LVS Haproxy Nginx负载均衡都有哪些常用的调度算法?(每种要求不少于5个)

Nginx 4层反向代理和7层反向代理有什么区别?以及如何配置?

如何实现Nginx负载均衡的高可用? 具体描述

LVS有些哪些模式?这些模式有什么区别?

Nginx和Haproxy如何实现会话保持?(每种要求不少于3个)

Nginx Tomcat 做过哪些优化? 从应用配置,内核,JVM 几个方面进行阐述(每种要求不少于4个)

描述 keepalived 工作原理? 基于什么协议? 如何选举出MASTER? 怎么处理脑裂问题?


描述 Nginx location转发时root和alias指定路径的区别?

  • root指定路径的转发处理方式: root路径 追加 location路径 net.ipv4.tcp_syncookies
  • alias指定路径的转发处理方式:alias路径 替换 location路径

LVS Haproxy Nginx负载均衡都有哪些常用的调度算法?(每种要求不少于5个)

  • LVS   rr  wrr  lc  wlc  sh  dh  lblc  sed  ne
  • Haproxy   roundrobin   static-rr   leastconn   source   uri   url_param   hdr   rdp-cookie
  • Nginx   轮询   加权轮询    least_conn    ip_hash    url_hash   fair   random

Nginx 4层反向代理和7层反向代理有什么区别?以及如何配置?

  • 四层反向代理:基于 IP 和 端口 实现的代理转发
  • 七层反向代理:根据用户访问请求的URL路径,基于http等七层应用协议的代理转发
  • 四层反向代理配置:编译安装时需要添加stream四层代理模块,配置时在http配置块同层级添加stream配置块,在stream配置块里使用upstream定义后端服务器列表名称和节点参数,再使用server配置块里使用listen定义监听端口和使用proxy_pass配置转发
  • 七层反向代理配置:在http配置块中使用upstream定义后端服务器列表名称和节点参数,在server配置块中使用location匹配用户请求的URL路径,使用proxy_pass基于协议配置转发

如何实现Nginx负载均衡的高可用? 具体描述

  • 需要在两个Nginx负载均衡服务器上安装keepalived,还要编写用于给nginx进程运行状态做健康检查和故障切换的shell脚本,然后在keepalived配置文件中调用shell脚本,从而实现Nginx负载均衡的高可用。

LVS有些哪些模式?这些模式有什么区别?

  • NAT 地址转换     TUN IP隧道       DR 直接路由
  • NAT 既是客户端的访问入口,也是节点服务器返回响应消息的出口,因此可能会负载均衡器成为整个群集的性能瓶颈
  • TUN 仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过负载均衡器;负载均衡器和节点服务器还需要通过专用的IP隧道相互通信
  • DR 仅作为客户端的访问入口,节点服务器的响应消息是直接返回给客户端的,不需要经过负载均衡器;负载均衡器和节点服务器相互通信不需要专用的IP隧道

Nginx和Haproxy如何实现会话保持?(每种要求不少于3个)

nginx

  • Nginx  ip_hash 或 一致性hash算法 基于客户端IP做hash缓存实现会话保持;
  • 使用 sticky_cookie_insert 基于cookie来判断实现会话保持;
  • 使用缓存数据库为后端节点服务器做session同步复制实现会话保持

haproxy

  • 调度算法使用 source(源地址hash)
  • 后端组配置使用 设置cookie  
  • 后端组配置使用 会话粘性表stick-table

Nginx Tomcat 做过哪些优化? 从应用配置,内核,JVM 几个方面进行阐述(每种要求不少于4个)

nginx配置 开启网页压缩(gzip on)   页面缓存(expires)   IO多路复用(use epoll)   隐藏版本号(server_tokens off)    防盗链(rewrite)   ....
tomcat配置   maxThreads(最大线程数)   acceptCount(等待队列数)     connectionTimeout(连接保持超时时间)     enableLookups(关闭DNS反向查询)    compression(网页压缩)   .....
内核  /etc/security/limits.conf(内核限制文件) nofile  noproc   
      /etc/sysctl.conf(内核参数配置文件)    net.ipv4.tcp_syncookies   net.ipv4.tcp_tw_reuse   net.ipv4.tcp_tw_recycle   net.ipv4.tcp_fin_timeou  
                                            net.ipv4.tcp_max_tw_buckets   net.ipv4.ip_local_port_range  .....
JVM  -server(使多核服务器CPU性能更佳)    -Xms -Xmx(设置JVM堆内存初始值和最大值,设置为一样大,一般为物理内存的1/2)
-XX:PermSize -XX:MaxPermSize(设置非堆内存初始值和最大值,设置为一样大,一般为物理内存的1/4)
-Xmn(设置JVM堆内存新生代的大小,一般为堆内存的3/8)
-XX:ParallelGCThreads=2(设置并行GC垃圾回收的线程数,提高垃圾回收效率,一般为CPU的数量相同)

描述 keepalived 工作原理? 基于什么协议? 如何选举出MASTER? 怎么处理脑裂问题?

  • 基于VRRP协议实现的高可用方案,优先级决定主备服务器的角色,主服务器通过VIP接收客户端发送的连接请求并转发,同时还定时给备服务器发送VRRP报文告知自己的存活状态。当主服务器发送故障,则由备服务器接替主服务器的角色继续提供服务,从而保证服务的高可用。
  • VRRP协议
  • 初始化时 state 设置 MASTER 为主,BACKUP 为备;最终再通过比较优先级来选举,优先级最高的为MASTER
  • 直接关闭 MASTER 或 BACKUP 其中一台上的 keepalived 服务
  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值