Nginx确实是最常用的技术之一(服务器),它不仅可以被Java应用程序使用,还可以在很多场景中使用。 下面我就根据自己的理解给大家介绍一下。
什么是Nginx
如果你是一名Java程序员,从来没有听说过Nginx,那么你一定听说过Apache。 Nginx也是如此,它是一个WEB服务器。 它具有以下特点:
采用C语言开发,基于事件驱动架构,具有高性能、强并发能力;
跨平台、可以运行在windows、Linux、Mac、Solaris等操作系统上;
第三方模块很多(生态环境好)。
那么我们来看看Nginx能做什么:
反向代理
这个概念大家应该都很熟悉,所以在讲反向代理之前,先看看什么是反向代理转发代理是。
代理转发:我想访问Google,但是没有办法直接访问目前正在寻找代理服务器,通过代理服务器访问Google;是客户端知道要访问的服务器地址;服务器不知道客户端是谁,正向代理——代理就是客户端;
反向代理:代理服务器接收来自的请求。 Internet并将请求转发到内网中的服务器(可能有很多台服务器),得到服务器的响应后,此时将响应返回给客户端,客户端不知道服务器在哪里;是,反向代理是服务器。
在一个项目架构中,正向代理和反向代理可能同时存在。
负载均衡
因为Nginx可以作为反向代理服务器,它可以向服务器发送客户端请求,客户端请求的数量就是负载。
然后将负载按照一定的规则分发到不同的服务器上进行处理,这就是负载均衡;负载均衡调度方式包括:轮询、一次一个;
总之,Nginx是常用的软件(服务器)之一,最好学一下。
我会继续分享我对Java开发、架构设计、程序员职业发展等方面的看法,希望得到大家的关注。
上一篇:nginx部署java应用
下一篇:nginx应用场景