Java nginx是Java后台开发最常用最入门的技术吗?
来源:δ֪ 日期:2022-05-24 01:08 作者:admin

谢邀~

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

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

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

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

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

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

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

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

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

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

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

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

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

我将持续分享Java开发、架构设计、程序员职业发展等方面的见解,希望能得到你的关注。

nginx并不是一门技术,而是高性能的反向代理服务器,但是nginx的配置确实是一门技术活!

nginx使用C语言进行开发,可以说跟JAVA没半毛钱关系,也可用在PHP服务器开发,大数据等领域!

但是因为JAVA在开发web服务器中占比十分之高,而高性能的后台服务却少不了nginx的参与,所以JAVA程序员不得不学习nginx原理和使用!

先来看下什么是nginx?

nginx是一种轻量级,高性能,易配置,稳定度高的反向代理服务器,只需要简单的配置就可以得到一台具有负载均衡功能的稳定服务器!

nginx有什么用?

1,反向代理:nginx的反向代理模式,能让客户端感知不到真正的服务器的存在,所有的请求都全部落在nginx服务器上,由nginx基于一定的策略进行请求转发到不同的服务器上

2,负载均衡:所有落在nginx中的请求使用配置所得的负载均衡策略进行转发到不同服务器上,负载均衡方式有:轮询,权重,ip hash等方式供用户选择。负载均衡解决了单台应用存在的性能瓶颈!

3,支持高并发:诸如tomcat这样的应用服务器不能支持大量的连接,(貌似tomcat9改进了?)在高并发环境容易崩溃,而nginx是基于epoll模型的异步非阻塞服务器,只有当连接中有io事件的时候,才会通知进程进行处理,既避免了频繁创建和销毁线程的开销,又没有维持多个长连接的内存开销,所以nginx能支持十万,百万级并发!

4,静态服务器,用的不多!

怎么用nginx?

真的很简单,配置几行就能体验高性能的服务器,自行百度!

为什么要学nginx?

1,因为性能好,原因如上。。

2,因为面试要问,不仅问反向代理,负载均衡,均衡策略,如何配置,如何优化等等?

总之,nginx之所以高效,是因为底层模型很高效,打算改天详细说下epoll模型,用来应付面试还是极好的,敬请关注。。

上一篇:没有了 下一篇:互联网前端开发用什么比较好呢?
猜你喜欢
各种观点
热门排行
精彩