《Dubbo 实现原理与源码解析 —— 精品合集》 《Netty 实现原理与源码解析 —— 精品合集》
《Spring 实现原理与源码解析 —— 精品合集》 《MyBatis 实现原理与源码解析 —— 精品合集》
《Spring MVC 实现原理与源码解析 —— 精品合集》 《数据库实体设计合集》
《Spring Boot 实现原理与源码解析 —— 精品合集》 《Java 面试题 + Java 学习指南》

摘要: 原创出处 网络 「尼古拉斯」欢迎转载,保留摘要,谢谢!


🙂🙂🙂关注**微信公众号:【芋道源码】**有福利:

  1. RocketMQ / MyCAT / Sharding-JDBC 所有源码分析文章列表
  2. RocketMQ / MyCAT / Sharding-JDBC 中文注释源码 GitHub 地址
  3. 您对于源码的疑问每条留言将得到认真回复。甚至不知道如何读源码也可以请教噢
  4. 新的源码解析文章实时收到通知。每周更新一篇左右
  5. 认真的源码交流微信群。

2002年春季,Igor Sysoev迈上了Nginx的开发之旅。面对互联网的早期飞速发展,他希望提出一种更好的网络流量处理方式——这将是一种新颖的架构,能够让高流量网站更从容地处理数万个并发连接,并将照片、视频等一众可能严重影响页面加载速度的内容缓存起来。

时间推进二十年,Igor创建的代码已经在为世界上运行的大部分网站提供支持——既有直接应用,也有作为Cloudflare、OpenResty及Tengine等流行服务器的底层软件。事实上,很多人认为Igor当初的愿景就是推动Web一路发展成今天的样貌。而Igor本人的精神与价值主张凝聚成为Nginx公司,致力于在开源和社区的支持下带来卓越且高度透明的代码,同时创造出客户喜爱的商业产品。

但这两点目标其实很难和谐共存。Igor之所以受到技术社区、开发人员、企业客户乃至Nginx内部工程师们的高度推崇,依靠的正是他谦逊的举止、永远旺盛的好奇心、以及对于构建出色软件的一往无前的坚持与引领。

因此,今天我们怀着遗憾与感激之情,宣布Igor正式退出Nginx与F5。在未来的岁月中,他将有更多时间陪伴好友和家人,同时也将继续参与感兴趣的个人项目。

Igor与Nginx:一段简史

Igor出身平民阶层。他是一名军官的儿子,出生于哈萨克斯坦(当时隶属于苏联)的一个小镇。一岁时,他们举家迁往首都阿拉木图。Igor从小就对计算机非常着迷,上世纪八十年代中期他在一台Yamaha MSX上写下了人生中的第一行代码。而随着早期互联网的逐渐成型,Igor随后毕业于著名的鲍曼莫斯科国立技术大学并获得了计算机科学学位。

Igor最初曾担任系统管理员一职,但却从未停止过编写代码的脚步。1999年,他开发出自己的第一款汇编语言程序——一种AV反病毒软件,能够抵御当时最常见的十种计算机病毒。Igor免费发布了二进制文件,也让这款程序在俄罗斯国内着实流行了好几年。之后,他意识到Apache HTTP服务器那过于原始的连接处理方式根本无法满足不断发展的万维网需求,于是他开始了相关研究,而这正是后来Nginx的雏形。

当时,Igor打算着力解决C10k问题——即如何在单一服务器上处理10,000个并发连接。但他的野心还不止于此:除了处理大量并发之外,他还希望自己的Web服务器能够更快、更高效地应对照片或音乐文件等疯狂吞噬传输带宽的元素。在俄罗斯及国外数家公司开始使用Nginx之后,Igor于2004年10月4日(即苏联发射全世界第一颗人造卫星「斯普特尼克」号的四十七周年)根据许可完成了该项目的开源。

在最早的七年当中,Igor一直是Nginx项目的唯一开发者。在此期间,他编写下数十万行代码,并将Nginx从Web服务器加反向代理、逐步扩展成一款适用于各类Web应用程序及服务需求的“瑞士军刀”。负载均衡、缓存、安全及内容加速等关键功能都在这一时期陆续成为现实。

尽管Igor压根没有时间搞项目宣传、说明文档也不够完备,但Nginx仍凭借着出色表现迅速占据了市场份额。有趣的是,在缺少使用手册的情况下,Nginx仍能在新用户手中发挥作用并得到口口相传。越来越多的开发人员和系统管理员利用Nginx解决自己面对的现实问题、加快网站加载速度。Igor不需要赞美、不需要夸耀,他的代码成果已然说明了一切。

Nginx走向商业,但开源之志永不更改

2011年,Igor与两位联合创始人Maxim Konovalov及Andrew Alexeev共同成立了Nginx公司,意在加快项目的开发速度。尽管Igor很清楚从这一刻起,他和团队得想办法赚钱了,但他们仍发誓要坚守Nginx始终提供完整开源版本并保持开放许可的承诺。他们是这么说的,也是这么做的。自公司成立以来,Igor指引着Nginx通过140多个版本不断完成自我提升,这款如今仍然开源的软件已经在为全球数亿网站提供支持。

奔波在为Nginx公司筹集风险投资的路上——(右起)Igor、公司CEO Gus Robertson、联合创始人Andrew Alexeev以及Maxim Konovalov

2011年,以专有模块形式向商业版本中添加新功能的想法还属于时代首创。但如今,很多开源初创企业已经可以站在巨人的肩膀上。商业版本的Nginx Plus在2013年首次推出时,立即受到市场的热烈欢迎。四年之后,Nginx已经拥有超过1000家付费客户和数千万收入。但更难能可贵的是,Nginx开源项目与技术社区的规模也在同步发展壮大。到2019年底,Nginx已经在为全球超过4.75亿个网站提供支持;截至2021年,Nginx成为世界上应用最广泛的Web服务器方案。

着眼于未来需求,Igor也一路引导着多个Nginx相关项目的快速发展,包括Nginx JavaScript(njs)与Nginx Unit。他还设计了sendfile(2)系统调用的全新实现,将这一系统调用整合到开源FreeBSD操作系统当中。随着Nginx工程师队伍的壮大和Nginx公司正式加入F5,Igor一直扮演着稳健的幕后领导者角色,保证Nginx始终走在光明的道路上、走在正确的旗帜下。

继承Igor的光荣传统

今天,随着Igor的离去,我们也迎来了Nginx发展的十字路口。幸运的是,Igor的精神和他一手缔造的文化绝不会就此消散。伟大的企业、产品和项目必须始终坚守创始人留下的宝贵基因。我们面对产品、社区、透明度、开源和创新的态度皆由Igor所塑造,我们也将继续在Maxim和Nginx领导团队的指引下继续发扬这份优良传统与精神财富。

Igor在Nginx与F5时代的不懈奋斗,凝结成了我们今天或直接、或间接使用的项目代码,其中很多时至今日仍在默默支撑着整个互联网世界。经受得住时间考验的代码,才是真正永恒的代码。我们希望能像Igor那样创造出历久弥新、广受推崇的产品——这是一条极高的标准,也是Igor留给我们的历史使命。感谢你多年以来的教导与合作,Igor,祝你在人生的全新篇章开心、顺意。

文章目录
  1. 1. Igor与Nginx:一段简史
  2. 2. Nginx走向商业,但开源之志永不更改
  3. 3. 继承Igor的光荣传统