サーバ/インフラを支える技術 第2章 ワンランク上のサーバ/インフラの構築 その1
次はワンランク上です。
- リバースプロキシ
- クライアントからの要求を受け取り、適切な Web サーバへと転送。Web サーバはリバースプロキシにリプライを返して、リバースプロキシがクライアントへ転送
- いわゆる Proxy と何が違う?
- 通常ProxyはLAN->WANの要求を代理するがその逆にWAN->LANの要求を代理する。つまり外からの要求を中継するから
- たったそれだけのことだったんだ……。ただProxyだけでいいような気がする。Proxy の目的なんていろいろだろ
- リバースプロキシで要求に応じた処理ができるので L7 スイッチのように HTTP リクエストの内容に応じた分散ができる
- IPアドレスでの制御
- User-Agent による制御
- URL の書き換え
- 静的リソースのリクエストを別サーバに振り分けることでWebサーバのメモリ消費量を効率化する(動的リソースの生成にはメモリを大量に消費する)
- 静的リソースはリバースプロキシ自身が返すというのが一般的
- KeepAlive のバッファとして使う
- Apache モジュールを使ってリプライの圧縮、特定クライアントの遮断など柔軟な制御ができる
- いわゆる Proxy と何が違う?
- クライアントからの要求を受け取り、適切な Web サーバへと転送。Web サーバはリバースプロキシにリプライを返して、リバースプロキシがクライアントへ転送
- Apache を使ったリバースプロキシ構築
- prefork モデルではなく worker モデル(クライアントあたり1Thread)
- 同時接続数を多めにとる設定にする
詳しい設定方法は割愛します。いつか構築する時に参考にしようと思うものの、その時には情報が古くなっているかもしれませんし、こういう具体的な内容は書籍にはあまり向いていないような気もしますね。