博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
开发漫谈:BAT都在用的Nginx到底是啥?
阅读量:6225 次
发布时间:2019-06-21

本文共 1311 字,大约阅读时间需要 4 分钟。

如果你混迹IT圈儿,你可能听说过,或见过Nginx,IT技术人员对她都会有所耳闻,云计算工程师因为要应对负载均衡问题,需要更深入的了解Nginx,而Nginx也是百度、阿里、腾讯等企业IT架构中的常客。今天,笔者就与大家一起来探究一下,Nginx究竟是什么。

Nginx是什么?

根据维基百科的定义,Nginx(发音同engine x)是一个网页服务器,它能反向代理HTTP,HTTPS,SMTP,POP和IMAP的协议链接,以及一个负载均衡器和一个HTTP缓存。

其初始版本发于12年前(2004年10月4日),起初只是供俄罗斯大型门户网站及搜索引擎Rambler(Рамблер)使用,后再2011年俄罗斯Nginx公司获得300万美元风投,也在国内外获得了大量的追随者,国内的BAT、新浪、搜狐都有应用,国外的Facebook、TechCrunch、Groupon和WordPress等公司,也是Nginx的簇拥。

此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中均可运行。技术创始人为为Igor Sysoev。

特性如何

Nginx之所以能够受到世界各大互联网公司的青睐,当然是基于前面提过的在BSD-like协议下发行,更重要的还是Nginx拥有高性能的特点,主要体现在占用内存少,稳定性高等方面。

正因为这个特点,Nginx在四年前,就被某宝内部系统广泛使用。同时Nginx在处理并发服务能力方面十分优异,整体采用模块化设计,在处理负载均衡方面有着出色表现。根据Nginx的官方测试结果显示,Nginx可以支持五万个平行链接,而在实际运作中,可以支持2万至4万个平行链接。

架构如何

Nginx高性能的特点很大原因要归功于Nginx的架构与设计方式。当我们启动Nginx之后,会出现一个Master进程和多个Wocker进程,Master进程主要用来管理Wocker进程,放Wocker进程异常退出后,会自动重新启动新的Wocker进程。多个Wocker进程之间是对等的,同时也是相互独立的。

开发漫谈:BAT都在用的Nginx到底是啥?

另外,Nginx使用了最新的epoll和kqueue网络IO模型,这种模型在高并发的情况下,时间模型能够有更高的效率。与多线程相比,这种事件处理方式优势明显,能够不需要创建线程,每个请求占用的内存也很少,没有上下文切换,事件处理十分轻量级。

结束语

五年前,Nginx技术创始人做了家公司,冲击了微软IIS(互联网信息服务器Internet Information Server),如今,互联网在快速发展中,高并发、高负载情况愈加平常,Nginx依然焕发着自己的活力。

如果你混迹IT圈儿,你可能听说过,或见过Nginx,IT技术人员对她都会有所耳闻,云计算工程师因为要应对负载均衡问题,需要更深入的了解Nginx,而Nginx也是百度、阿里、腾讯等企业IT架构中的常客。今天,笔者就与大家一起来探究一下,Nginx究竟是什么。

本文转自d1net(转载)

你可能感兴趣的文章
Node.js:回调函数
查看>>
python 发送邮件 <QQ+腾讯企业邮箱>
查看>>
细数JDK里的设计模式
查看>>
Linux~上部署.net MVC出现的问题与解决
查看>>
DDD~充血模型和失血模型
查看>>
android DPI与分辨率的关系及计算方式
查看>>
forward_list
查看>>
伪分布式网络爬虫框架的设计与自定义实现(一)
查看>>
解决npm ERR! Unexpected end of JSON input while parsing near的方法汇总
查看>>
MySQL 入门
查看>>
js的操作及css样式
查看>>
bootstrapValidator关于js,jquery动态赋值不触发验证(不能捕获“程序赋值事件”)解决办法...
查看>>
数据库设计基础>范式
查看>>
POJ 3461 Oulipo(模式串在主串中出现的次数)
查看>>
Openstack的镜像属性
查看>>
【分享】用Canvas实现画板功能
查看>>
C++走向远洋——46(教师兼干部类、多重继承、派生)
查看>>
spring IOC源码分析(1)
查看>>
「深入理解计算系统」从Hello World开始
查看>>
手写Json转换
查看>>