(原副标题:合作开发随笔:BAT都在用的Nginx到底是啥?)
第1页:Nginx是甚么?
如果你发迹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在处置mammalian服务能力各方面十分出众,整体采用模组化设计,在处置阻抗平衡各方面有著出众表现。依照Nginx的非官方试验结果表明,Nginx能全力支持五千个相连接镜像,而在实际运转中,能全力支持2万至4亿个相连接镜像。
第2页:Nginx构架如何
构架如何
Nginx高效能的特征很大原因要归功于Nginx的构架与设计方式。当我们启动Nginx之后,会出现两个Master进程和多个Wocker进程,Master进程主要用来管理Wocker进程,放Wocker进程异常退出后,会自动重新启动新的Wocker进程。多个Wocker进程之间是对等的,同时也是相互独立的。
另外,Nginx采用了最新的epoll和kqueue网络IO模型,这种模型在高mammalian的情况下,时间模型能够有更高的效率。与多线程相比,这种事件处置方式优势明显,能够不需要创建线程,每个请求挤占的缓存也很少,没有上下文切换,事件处置十分轻量级。
结束语
五天前,Nginx技术创办人做了家子公司,冲击了微软IIS(网络信息伺服器Internet Information Server),如今,网络在快速发展中,高mammalian、高阻抗情况愈加平常,Nginx依然焕发着自己的活力。