9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Nginx が生まれた理由と利用例 C10K問題、イベント駆動、プロキシ、リバースプロキシ

Last updated at Posted at 2020-10-07

はじめに

今回は以下の内容で、Nginxについて詳しく触れたいと思います。

  • C10K問題
  • プロキシとリバースプロキシ

【YouTube動画】C10K問題、イベント駆動、プロキシ、リバースプロキシについて
C10K問題、イベント駆動、プロキシ、リバースプロキシについて

C10K問題とイベント駆動

C10K問題のCはClient、10Kは10,000の略です。
1台のサーバーに1万台のクライアントがアクセスしたとき、処理が重くなるという問題です。

これはApatchでは解決が難しく、Nginxで解決できた問題です。

ApatchとNginx

Apatchでは、マルチプロセスを採用しており、1コネクションに対し1プロセスを割り当てます。
そのためプロセスが増えていくと、使用できるメモリが減っていくので、処理が重くなります。

Nginxでは、イベント駆動を採用しており、クライアントの接続を1プロセスとして扱います。
1プロセスで多数のクライアント接続を扱うために、ノンブロッキングIOや非同期IOを使用しています。

この辺りは動画で詳しく説明しているので、ぜひ確認してみてください!

プロキシとリバースプロキシ

Nginxはプロキシサーバーやリバースプロキシとしても利用できます。

プロキシサーバーは、クライアント複数、サーバー1つという構成で、外部からのアクセス制限や検閲などに使用できます。

リバースプロキシはクライアント1つ、サーバー複数という構成で、アクセス分散やキャッシュなどに使用できます。

まとめ

今回、NginxとC10K問題の関係、プロキシとリバースプロキシの違いについて説明しました。

何か間違いや指摘がありましたら、コメントよろしくお願いします。

twitteryoutubeでのコメントもお待ちしています!

9
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?