Java面试题之Nigx
一、高可用、高并发、高性能概述(理论抄3遍)
高并发(High Concurrency):
它通常是指,通过设计保证系统能够同时并行处理很多请求。
高并发相关常用的一些指标有响应时间(Response Time),吞吐量(Throughput),每秒查询率QPS(Query Per Second),并发用户数等。
- 响应时间:系统对请求做出响应的时间。
- 吞吐量:单位时间内处理的请求数量。
- QPS:每秒响应请求数。在互联网领域,这个指标和吞吐量区分的没有这么明显。
- 并发用户数:同时承载正常使用系统功能的用户数量。
高可用(High Availability):
通常来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。
高性能:
是指服务响应时间快,(CPU/处理器/内存)特别是在高并发下响应时间不会急剧增加。
二、什么是Nginx
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器。
三、Nginx应用场景
反向代理 负载均衡 HTTP 服务器(包含动静分离) 正向代理
四、正向代理和反向代理区别
- 正向代理,是在客户端的。
- 反向代理是作用在服务器端的,是一个虚拟ip(VIP)
五、长连接和短连接区别
- 长连接多用于操作频繁,点对点的通讯,而且连接数不能太多情况
- WEB网站这么频繁的成千上万甚至上亿客户端的连接用短连接会更省一些资源
六、HTTP和HTTPS的区别
- https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。
- http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
- http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
- http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
七、什么是集群
将一个应用程序,部署到多台服务器上面,然后在这些服务器的前面通过负载均衡服务器来择优选择哪一台服务器去执行;(保证高可用)
八、什么是负载均衡
将服务器接收到的请求按照规则分发的过程,称为负载均衡
九、Nginx负载均衡的规则有哪些
- 轮询
- 指定轮询几率
- List item
- ip_hash
- url_hash(第三方)
- fair(第三方)
十、集群分布式Session解决方案
- Session保持:(会话保持)就是将用户锁定到某一个服务器上
- Session复制:针对Session保持的容错性缺点,我们可以在所有服务器上都保存一份用户的Session信息。
- Session共享 :SpringSession+Redis方式实现