2000年代初頭、ウェブサーバーは接続ごとにスレッドまたはプロセスを割り当てており、高トラフィックのサイトは約1万の同時接続で壁に突き当たっていた。これがC10K問題である。ロシアの開発者イゴール・シソエフは、ロシアの大手ポータルであるRamblerのためにまさにこの問題を解決すべく、2002年にnginxの開発を始めた。

nginxは接続を少数のプロセスで処理されるイベントとして扱うため、負荷時でもメモリ使用量は低く抑えられ、動作も予測可能なままである。同じコアがHTTPサーバー、リバースプロキシ、コンテンツキャッシュ、ロードバランサー、そしてTCP/UDPまたはメールのプロキシとして機能し、モジュール式のアーキテクチャを備えている。

2004年10月に最初にリリースされたnginxは、ロシアのポータルから世界のウェブサイトの大部分へと広がった。nginx.orgはNetcraftによる世界で最も人気のあるウェブサーバーだとしている。Nginx, Inc.は商用サポートのために2011年に設立され、F5は2019年3月に約6億7000万ドルで同社を買収し、創業者を維持した。

すべての接続をスレッドではなく軽量なイベントとして処理する

イベント駆動型の処理により、多数の接続下でもメモリが一定に保たれる

1台のサーバーがプロキシ、キャッシュ、ロードバランシング、TLSをカバーする

オープンソースの基盤が大規模なコミュニティと支持を築いた

低リソース使用により、大規模運用が安価になった

ボトルネックが接続ごとのリソースにある場合、リソースモデルを変えるべきである。イベント駆動型の多重化はハードウェアやスレッドの追加に勝り、1台の効率的なサーバーがサーバー群を置き換えられる。

F5の下で、nginxはオープンソースプロジェクトと商用製品ファミリーの両方であり続け、ウェブトラフィックのフロントエンドとして、またKubernetesイングレスコントローラーの標準として広く使われている。買収額は約6億7000万ドルと評価され、オープンソースコミュニティはF5が買収したものの明示的な一部であった。

出典をたどる

出典

  1. nginx: web server, reverse proxy, load balancer nginx.org · nginx.org
  2. F5 Acquires NGINX to Bridge NetOps & DevOps F5 Networks · f5.com ·
  3. nginx Wikipedia · en.wikipedia.org