俄羅斯人 Igor 在 15 年前編寫並開源了 NGINX,設計精良的架構,極致性能的代碼,開啟了高性能 web sever 的新時代,讓 C10K、C100K 從可能變為了現實。
技術的降維攻擊,讓 NGINX 輕鬆超越了同時期的 Apache 和微軟 IIS,NGINX 的市場佔有率也開始迅速增長:
![F5 收購 NGINX,一個時代的落幕](http://p2.ttnews.xyz/loading.gif)
2011 年,NGINX Inc. 成立,開始了商業化的嘗試。並在兩年後推出了其主打產品 NGINX Plus:提供部分配置動態化和運行狀態可視化。有其龐大的開源用戶基數做支撐,NGINX 的日子想必過得很滋潤,人數也逐漸擴張到 200 多人。
隨著微服務和 k8s 的技術變革,傳統的南北向流量逐漸被弱化,東西向流量的處理變得越來越重要。一批雲原生的 反向代理/負載均衡/API網關 開源項目如雨後春筍般冒了出來,蠶食著 NGINX 的市場:
![F5 收購 NGINX,一個時代的落幕](http://p2.ttnews.xyz/loading.gif)
其中 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 服務器時代。
最後 小編也抽空整理了一些資料 歡迎大家來踴躍獲取 只需要轉發+評論“666”
閱讀更多 互聯網的碼農 的文章