文章图片
这篇我们来看看nginx有哪些优点以及它由哪几部分组成 。
在我看来nginx主要有以下优点 , 看上面这张图 , 它的Y轴是requests per second也就是每秒处理请求数 , 我们简单把它称为RPS 。 它的X轴是concurrent connections也就是并发连接数 。
我们可以看到大部分程序或者web服务器随着并发连接数的上升它的rps会急剧的下降 , 图上的设计架构是有问题的 。
而nginx的第一个优点就是高并发和高性能同时具备的 , 往往高并发只需要我们对每个连接所使用的内存尽量的少就可以达到 , 还具有高并发的同时达到高性能还需要非常好的设计 , 那么nginx可以达到什么样的一个标准呢?比如说我们现在主流的一些服务器 , 32核64G的内存可以轻松的达到数千万的并发连接 , 如果是处理一些简单的静态资源请求可以达到100万的rps这样的级别 。
第二个优点是它的可扩展性非常好 , 主要体现在它的模块化设计 , 模块化设计非常的稳定使得nginx的第三方模块生态圈非常的丰富 , 丰富的生态圈为我们nginx丰富的功能提供了保证 。
第三个优点是它的高可靠性 , 所谓高可靠性是指nginx可以在服务器上持续不间断运行数年 , 而很多web服务器往往运行几周或者几个月就需要做一次重启 , 对于nginx这样一个高并发、高性能的反向代理服务器而言 , 它往往运行在企业内网的边缘节点上 , 这个时候 , 如果我们企业想提供4个9、5个9甚至更高的高可用性时 , 对于nginx持续运行能够宕机的时间一年可能以秒来计 。 所以在这样的一个角色中 , nginx的高可靠性给我们提供了非常好的保证 。
第四个优点是热部署 , 是指可以在不停止服务的情况下升级nginx , 这个功能对于nginx来说非常的重要 。 因为在nginx上可能跑了数百万的并发连接 , 如果是普通的服务我们可能只用关掉进程再重启的方法就可以处理好 , 但是对于nginx而言 , 因为关掉nginx进程会导致操作系统为所有已经建立连接的客户端发送一个tcp中的reset复位包 , 而很多客户端是没有办法很好的处理复位请求的 , 在大并发场景下一些偶然事件就会导致必然的恶性结果 , 所以热部署是非常有必要的 。
第五个优点是BSD许可证 , bsb license是指nginx不只是开源的、免费的 , 而且我们可以在有定制需求的场景下去修改nginx源代码再运行在我们的商业场景下 , 这是合法的 。
Nginx的优点其实不止这五点 , 但以上优点我认为是nginx最核心的特性 , 下面我们来看看nginx的组成 。
这里我做了一个简单的类比 , 好比有一辆汽车 , 这个汽车提供了基本的驾驶功能 , 但是还需要一个驾驶员控制这辆汽车开往哪个方向 , 这个汽车经过的所有地方还会形成GPS轨迹 , 如果这个汽车出现了任何的事故 , 我们还需要一个黑匣子来分析究竟是汽车本身出现了问题还是说驾驶员的一些操作出现了问题 。
那么nginx四个组成部分中:
第一个就是nginx的二进制可执行文件 , 这是由nginx本身的框架它的官方模块 , 还有我们编译进去的各种第三方模块一起构建的一个文件 。 这个文件就相当于汽车本身 , 它有完整的系统 , 所有的功能都由它提供 。
第二个是nginx.configure这个配置文件 , 它相当于驾驶员 , 虽然我们的二进制可执行文件已经提供了许多功能 , 但这些功能究竟有没有开启或者开启了以后 , 定义怎样的行为处理请求都是由nginx.configure这个配置文件决定的 , 所以它就相当于这个汽车的驾驶员 , 它控制着这个汽车的行为 。
- 副董事长|京东方A董秘回复:公司与全球数千家供应商保持着良好的合作关系
- 电池|vivoY55s,能有效解决你的续航焦虑!
- 加盟行业|原来加盟行业是这么玩的!
- 京东|适合过年送长辈的数码好物,好用不贵+大牌保障,最后一个太实用
- 儿童教育|首个播放量破 100 亿的 YouTube 视频诞生,竟然是儿歌
- 苹果|国内首款支持苹果HomeKit的智能门锁发布:iPhone一碰即开门
- 小米科技|预算只有两三千买这三款,颜值性能卓越,没有超高预算的用户看看
- 苹果|苹果最巅峰产品就是8,之后的产品,多少都有出现问题
- 普莉希拉|祖籍徐州的普莉希拉,嫁全球第5富豪扎克伯格,坐拥6530亿被说丑
- 攻克|打破日本垄断!售价7亿元的设备被中企攻克,已开始量产