Java nginx是Java后台开发最常用最入门的技术吗?Nginx确实是比较常用的技术(服务器)之一,不仅Java应用可以使用到,它可以应用在很多场景下。下面我就按照自己的理解,向大家介绍一下。

什么是Nginx

如果你是Java程序员,没用听说过Nginx的话,那么你肯定听说过Apache吧。Nginx也是一样,是一种WEB服务器。它有以下特点:

  • 是使用C语言开发出来的,基于事件驱动架构,性能很高,高并发能力极强;

  • 跨平台,可以运行在windows、Linux、Mac、Solaris等操作系统上;

  • 第三方模块很多(生态环境好)。

Java后台开发

那么我们再看看Nginx能做什么:

反向代理

这个概念大家一定很耳熟,那么在说反向代理之前,先看看什么是正向代理。

  • 正向代理:我想访问谷歌,没办法直接访问,这时候找一个代理服务器,我通过代理服务器访问谷歌;正向代理特点是客户端知道要访问的服务器地址是什么;服务器不知道客户端是谁,正向代理-代理的是客户端;

  • 反向代理:代理服务器接收互联网端的请求,转发请求到内网中的服务器(可能会是多台服务器中的一台),得到服务器的响应之后,再把响应返回给客户端;这时候客户端不知道服务器在哪,反向代理-代理的是服务端。

  • 在一个项目的架构中,正向代理和反向代理可能同时存在。

Java后台开发

负载均衡

因为Nginx可以做反向代理服务器,它可以把客户端的请求发送给服务器端;客户端的请求数量,就是负载量。

那么把负载量,按照一定的规则,分发给不同的服务器就行处理,这个就叫做负载均衡;负载均衡的好处,就是把压力平均到每一台服务器上。负载均衡的调度方法有:轮询,一个一个轮着发;ip_hash;url_hash;fair等。

Java后台开发

总之,Nginx是常用的软件(服务器)之一,最好学习一下。