前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx与淘宝Tengine的渊源

Nginx与淘宝Tengine的渊源

作者头像
后端技术探索
发布2018-08-09 17:40:29
1.3K0
发布2018-08-09 17:40:29
举报
文章被收录于专栏:后端技术探索后端技术探索

2002年俄罗斯门户网站Rambler的程序员Igor Sysoev为Rambler.ru开发出Nginx,这是一款Web服务器、HTTP反向代理和邮件代理服务器。从诞生到现在的十多年里,它的影响力已可以同Apache匹敌,吸引全世界一大批网络巨头的加入。阿里巴巴之淘宝从2009年开始使用和探索Nginx,2010年开始开发大量模块,从2011年开始动手修改Nginx的核心代码并启动Tengine项目开源。在淘宝内部于2012年全面替换Apache服务器软件。

Nginx的特点是性能非常高,对资源占用(CPU、内存)非常节省,其内存池设计,非常稳定,而且高度模块化,易于扩展。Nginx在俄罗斯的应用不必多说,在国内基于Tengine开源项目目前已经汇聚了土豆、56、PPTV和小米等多家著名网站。同时,多个公司也着手与淘宝展开合作开发,他们是CloudFlare、搜狗、网易、去哪儿。由此,Nginx在国内互联网行业的重要地位就不必再多言了。

对Nginx的认识我们还可以从Automattic的案例入手。2008年,Automattic打算替换用于支持WordPress服务的Web服务器软件,事情并没那么顺利。这家公司为了坚持一贯的开源策略,决心要把WordPress搬移至Web服务器,而世界知名的Apache无疑是首先。但工程师尝试后发现,Apache会崩溃,特别是WordPress异常繁忙的时候。当时负责这项任务的巴瑞·亚伯拉罕森(Barry Abrahamson)说:“我们认识到它在大流量的情况下是非常不稳定的”。为此Automattic停止向Apache过渡,而是冒险采纳当时不太知名的开源项目Nginx。5年后,WordPress仍然在Nginx上运行,其他公司也纷纷效仿。

在全球最知名的Web服务器正丢失市场份额的时代,Nginx的市场份额却因其朴实无华的运营理念和同时处理多种网络链接的技巧而不断增长。Apache依然是所有Web服务器的王者,但是Nginx的使用数量却在过去两年翻了一番。

目前,它为15%的网站提供服务,既有CloudFlare、Parse之类的初创公司,也有Automattic 、Netflix之类的网络巨头。“我们在Nginx上使用尽可能多的软件栈。”亚伯拉罕森说。

从任何方面来说,这不像是一个成功的故事,但它却显现了开源软件的全球影响力。

Nginx 由俄罗斯工程师伊戈尔·西索夫(Igor Sysoev)创建,这位42岁的工程师2002年开启项目,第一版的公共代码于同年10月上线。

像其他开源项目领导者一样,他希望项目能满足自己的需求。当时,他服务于俄罗斯快速增长的门口网站Rambler。因此,他需要一个比现有开源服务器能处理更多流量的服务器。

在Nginx研发过程中,他利用Rambler测试其代码。但它的第一个真正用户是MP3下载网站Zvuki,接着是一个在线约会网站,然后还有Rambler下属的照片分享站点。

截至2005年,Nginx的用户数量接近100,但来自英语国家的用户很难理解这款软件,因为大多数文件和讨论贴都是俄语版。不过2006年,英语用户开始在Nginx的讨论区发帖子;美国和其他国家的俄语用户也在宣传该项目,他们不仅在博客中分享配置文件,而且将复杂的俄语技术文件翻译成其他用户能够理解的格式。

当YouTube和Facebook开始崛起时,Nginx还保持不温不火的状态,但他定位于下一代的网络公司。几年后,Automattic和CloudFlare也加入它的用户行列。

2009年,CloudFlare创建公司,提供屏蔽网络袭击、增强网站性能相关的服务。它需要的Web服务器软件必须能运行在多核处理器设备中。

CloudFlare联合创始人兼首席执行官马修·普林斯(Matthew Prince)表示,Nginx在多核多处理器设备中表现良好,它能与很多Web客户端连接,而又不占用很大的计算机内存。

如果不能检查源代码,他们还会选择不知名的俄罗斯软件吗?“没门儿,”普林斯说,“如果它不是开源的,我们根本不信任。”

CloudFlare为西索夫提供了一个职位,并把公司赌注在这一项目上。如今,CloudFlare每月利用Nginx响应1万亿次的网络需求。“科技界比较好的地方在于,好的技术最终会浮现出来,”普林斯说,“你可以阅读源代码,并修正。”

今天,Nginx在CloudFlare之类的创业公司中很受欢迎。据统计,使用亚马逊云计算服务的1200万网站中,40%的网站都使用Nginx的服务。而且Nginx的业务增长大多以蚕食Apache的市场为代价。

西索夫满足的是一种真正的需求。“他解决的问题非常普遍。这根本不是俄罗斯人的专属问题。”Nginx公司联合创始人安德鲁·阿列克塞(Andrew Alexeev )表示,“越来越多的业务向在线服务过度,那就意味着每个服务器承担的用户数量更多,而且具备更复杂的结构。”

Automattic2008年转换到新平台后,创始人马特·穆伦维格(Matt Mullenweg) 向西索夫捐赠3500美元。“我想知道能帮点什么忙,”他写道,“他做得很不错。”

也就是这个时候,西索夫知道他遇到最大的时机。“这是我最大的一笔捐赠。”他回忆说。

两年前,他辞去了在Rambler的工作。如今他是一家新公司的首席技术管,主要向企业用户推销高效率版的Nginx。上个月,这家公司上线首个商业产品:NginxPlus。经过10年的研发,有了1亿网站的支持,西索夫最终准备好大赚特赚了。

Nginx曾经高举开源的大旗发展至今,其商业化进程是否顺利尚未可知,但至少在中国不会顺利,因为有淘宝的Tengine这支枪一直就顶在Nginx的腰眼上,一旦Nginx放下开源的大旗,凭借国内互联网的虎狼之师,就会自然的接过开源的大旗,想让淘宝来掏钱是断不可能的。开源,真实让人如此的爱恨交加......

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-05-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 nginx 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档