Perlbal とは、Perlで書かれたサーバーモジュール。
リバースプロキシとウェブサーバの機能を有する。
一般的によく利用される運用としては、
リバースプロキシとして、APサーバや画像サーバの前に配置し、
アクセスを捌くのに用いられる。
特徴
軽く触ってみた感じでは、以下が特徴的であった。
1. 導入が簡単
インストールは基本的には cpan install Perlbal
だけ
2. 設定が単純
例えば、ローカル環境で
- リバースプロキシ ポート80
- APサーバ ポート 8080
- 画像サーバ ポート 81
という運用する場合の設定は以下のようになる。
/etc/perlbal/perlbal.conf
## APPサーバ (ポート 8080)
CREATE POOL app_pool
POOL app_pool ADD 127.0.0.1:8080
## もし、複数の APPサーバを追加する場合は、
## 同じように羅列するだけ
# POOL app_pool ADD 127.0.0.1:8081
# リバースプロキシ (ポート 80)
CREATE SERVICE balancer
SET listen = 0.0.0.0:80
SET role = reverse_proxy
SET pool = app_pool
SET enable_reproxy = true
SET reproxy_cache_maxsize = 512000
SET persist_client = on
SET persist_backend = on
SET verify_backend = on
ENABLE balancer
# 画像サーバ (ポート 81)
CREATE SERVICE images
SET listen = 0.0.0.0:81
SET role = web_server
SET docroot = /var/www/images
SET dirindexing = 1
SET persist_client = on
ENABLE images
複数サーバ構成の場合は、IPを適時書き換える。
十数行で、リバースプロキシが導入できる。
起動方法
$ sudo perlbal -d
3. X-REPROXY-URL が使える
画像などを配信する際、効果的な X-REPROXY-URL が使える
4. ハイパフォーマンスらしい
- 100% 非同期
- ライトウェイト
などなど
開発元
リファレンス
実用例
疑問点
最近の情報が少ないので、いまでも現役で使われているのかどうか気になる。