微信号:gh_dc49a09b332d

介绍:感谢订阅,我是温铭,在互联网安全公司工作了近10年.OpenResty 和 Python 爱好者和社区推动者,业余喜欢研究各种投资.这里写的更多是技术和非技术的胡思乱想.

F5 收购 NGINX,一个时代的落幕

2019-03-12 15:35 温铭

俄罗斯人 Igor 在 15 年前编写并开源了 NGINX,设计精良的架构,极致性能的代码,开启了高性能 web sever 的新时代,让 C10K、C100K 从可能变为了现实。

技术的降维攻击,让 NGINX 轻松超越了同时期的 Apache 和微软 IIS,NGINX 的市场占有率也开始迅速增长:

2011 年,NGINX Inc. 成立,开始了商业化的尝试。并在两年后推出了其主打产品 NGINX Plus:提供部分配置动态化和运行状态可视化。有其庞大的开源用户基数做支撑,NGINX 的日子想必过得很滋润,人数也逐渐扩张到 200 多人。

随着微服务和 k8s 的技术变革,传统的南北向流量逐渐被弱化,东西向流量的处理变得越来越重要。一批云原生的 反向代理/负载均衡/API网关 开源项目如雨后春笋般冒了出来,蚕食着 NGINX 的市场:


其中 Envoy 已经从 CNCF(云原生计算基金会) 毕业,虽然性能、功能和稳定性都不如 NGINX,但项目进度、开源社区、活跃贡献者、周边生态等都强很多。举个最简单最基本的例子,如果一个开发者发现了 NGINX 的 bug,没有办法通过 Github 提交 issue 或者 PR,因为 NGINX 在 Github 上只有一个只读镜像,你需要通过邮件列表和 Mercurial 这套它独有的体系来沟通。对于开发者来说,这是非常不友好的。

面对微服务的架构变迁,NGINX 也有一些尝试,比如 NGINX Unit、NGINX Controller 和 Ingress Controller,但这些产品都有 NGINX Plus 的包袱,一直没有把动态上游、配置动态生效这些核心的功能开放出来。对于使用社区版本的公司来说,NGINX 依然是修改完配置需要 reload 才能生效的传统 web server,不能适应快速的变化,这在微服务环境下是不可接受的。

NGINX Inc. 在 2018 年 6 月进行了 C 轮的融资,共 4300 万美元,这笔钱的主要目的是加速在微服务上的投入。

但为时已晚。动态,已经成为新一代 web server 的标准配置。诞生于 2007 年的 OpenResty,以 NGINX 强大高效的网络库为基础,天生就以 LuaJIT 的动态为主打,营造了自己的生态;以 OpenResty 为基础的 KONG,更是扛起了新一代 API 网关和 Service Mesh 的大旗。NGINX 的重要性依然存在,但在被逐步下沉,远离业务。


传统的南北向流量,在F5 收购 NGINX 后,基本一统天下。而微服务带来的东西向流量,各种开源项目方兴未艾,有把 NGINX 当做基础网络库用的,也有自立山头用 Go 新造的,热闹非凡。

而且,性能现在已经不是企业最关心的问题。具备动态能力的新一代 web server,迟早会替代 NGINX,虽然后者的性能无可匹敌。

所以 NGINX 被 F5 收购后,是否会改变开源策略,并不是一个紧要的问题。即使后续版本闭源了,我们也不缺少更好用的替代者。

欢迎来到微服务时代,以及全动态的 web 服务器时代。



点击“阅读原文”,报名参加3月23号在北京举办的 OpenResty Open Talk,一起聊聊容器、边缘计算、API 网关、直播等话题。


历史文章推荐:

如何构建自己的投资体系?(上)

一个黑客的自述:我曾吹响进攻的号角

 
第二层思考 更多文章 如何最优化配置家庭保险? 量化交易是银弹呢? brookfield 股东信:如何看待贸易战? 如何彻底避免正则表达式的灾难性回溯? 对 wrk Latency Distribution 不准确的分析
猜您喜欢 Emoji 上的 Swift:换一种视角来理解 Swift 高阶函数 GitHub连击的365*2-7天里 && See you Again 实例 :使用LSTMs和Prophet进行时间序列预测你的电子邮箱负载(附代码) 算法工程师2017年学习,实习,秋招总结 HTML5实例教程第一期——制作酷炫音频播放器插件