各テナントのデータが個別のデータベースにあるマルチテナント アプリケーションがあります。
LIGHTTPD の下に FASTCGI プログラムを実装したいのですが、データベースごとにプログラムの異なるインスタンスが必要です。
たとえば、すべて{site}/app/c123/a/b
の接続をデータベース C123 に接続された FASTCGI アプリのインスタンスにルーティングし、すべての接続{site}/app/c578/a/b
をデータベース C578 に接続されたインスタンスにルーティングしたいと考えています。
起動のために、FASTCGI アプリは起動パラメーター (-Dc123
または-Dc578
) を使用して、開くデータベースを選択するとします。
/a/b は、接続先のデータベースに関係なく、FASTCGI インスタンスのいずれかに渡されるパスの要素のプレースホルダーです。たとえば{site}/app/c123/Accounts/List
、C123 データベースに含まれるアカウントのリストを返す場合があります。
テナントごとに予想される同時実行をサポートするために、データベース C123 に接続されたアプリの 2 つのインスタンス、データベース C578 に接続されたアプリの 8 つのインスタンスなど、異なるデータベースに対して接続する必要がある場合があります。
これらの例を考えると、FASTCGI アプリの 1..n インスタンスをデータベースごとに開始できるようにするには、LIGHTTPD のどのような構成が必要ですか?