2011-04-12 12 views
1

私は(うまくいけば)多くのクライアントにサービスを提供するWebアプリケーションを作っています。最初は、mydomain.comをログイン用のランディングページにして、すべてのユーザーに対して1つの大規模なデータベースを用意するつもりでしたが、私はこのアプローチの短所を予期しました。私はあなたがサインアップすると、たとえば、myclientname.basecamphq.comのような製品の "インスタンス"のサブドメインを提供するBaseCampを考えました。クライアントごとのサブドメイン?

私の質問は:BaseCampは独自の別個のWebを持っていますか独自のデータベースを持つ各インスタンスのアプリケーション?誰もがこのプロセスを設定するための有用なガイドを持っていますか?

ありがとうございました。

答えて

1

サブドメインがある場合は、それぞれIISの個別のWebアプリケーションとなります。基本的な概念は、IISが同じIPであるが異なるアドレスを持つ要求をどのように処理するかに関するものです。 IISはHost HTTPヘッダーを読み取り、s1.example.comの場合は、bindingsに基づいてpeperアプリケーションを参照します。データベースを別々にすることはあなた次第です。

概念的に分離が必要ない場合は、技術的な問題のため分離しないでください。また、データベース内のParentId(tblCustomers - > tblUsers間の一対多の関係)に基づいてユーザーを分けることも可能です。

複数のデータベース/サブドメインを管理するのは、データベースの設計変更やサーバーのIPアドレスの変更、DNSレコードの設定の変更を検討することよりも多くの頭痛があります。

0

すべてのサブドメインを同じIPにマップするDNSサーバーを用意してください。次に、HTTP要求(名前ベースの仮想ホスティング)からサブドメインを取得します。異なるサブドメイン間に相互作用が全くない場合は、誰もが個別のデータベースを持つことができます。これにより、ドメインごとのバックアップも容易になります。サブドメイン間で共通の状態やiformatiom交換がある場合は、代わりに共有データベースを使用することもできます。別のアクセス資格情報を持つ別々のデータベースを持つことによっても、セキュリティが幾分向上します。

+0

あなたはこの分野の市場動向を認識していますか?人々はこれを一般的にしていますか?ケースバイケースであることは分かっていますが、全体的な傾向があるはずです。ありがとう。 – skaz

関連する問題