更新时间:2020-05-21 11:04:46 来源:极悦 浏览2113次
很多Java初学者认为Nginx的用途只有负载均衡,但除此之外,Nginx还有很多功能,比如限流、缓存、黑白名单等。今天小编就给大家详细的介绍一下Nginx的功能。
1.负载均衡
Nginx通过反向代理可以实现服务的负载均衡,避免了服务器单节点故障,把请求按照一定的策略转发到不同的服务器上,达到负载的效果。常用的负载均衡策略有五种:
1)轮询。将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。
2)加权轮询。不同的后端服务器可能机器的配置和当前系统的负载并不相同,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。给配置高、负载低的机器配置更高的权重,让其处理更多的请求;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载。
3)ip_hash(源地址哈希法)。根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客户端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。
4)随机。通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。
5)least_conn(最小连接数法)。由于后端服务器的配置不尽相同,对于请求的处理有快有慢,最小连接数法根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器。
2.静态代理
Nginx擅长处理静态文件,是非常好的图片、文件服务器。把所有的静态资源的放到nginx上,可以使应用动静分离,性能更好。
3.限流
Nginx的限流模块,是基于漏桶算法实现的,在高并发的场景下非常实用,不过要注意配置参数和设置限流。
4.缓存
Nginx的一大功能就是完成静态资源的分离部署,减轻后端服务器的压力,如果给这些静态资源再加一级Nginx的缓存,可以进一步提升访问效率。缓存分为浏览器缓存、静态资源缓存和代理层缓存。
5.黑白名单
处在黑名单中的IP与网络,将无法访问Web服务。处在白名单中的IP,访问Web服务时,将不受Nginx所有安全模块的限制。支持动态黑名单(需要与ngx_http_limit_req配合)。
Java编程入门相关视频教材
Nginx视频教程:
以上就是极悦java培训机构的小编针对“Java编程教程入门-Nginx功能”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。
0基础 0学费 15天面授
Java就业班有基础 直达就业
业余时间 高薪转行
Java在职加薪班工作1~3年,加薪神器
工作3~5年,晋升架构
提交申请后,顾问老师会电话与您沟通安排学习