以下のアプリにはどのようなアーキテクチャを使用しますか?クラスタ全体で大きなオブジェクトを管理する。
私たちのSAASアプリでは、各顧客はファイルのディレクトリを取得します。これらのファイルは非常に大きく、非常に迅速に読み書きする必要があります。時々、顧客は非常に重い使用法を見て、負荷を処理するために複数のボックスにファイルを複製する必要があります。ファイルへの変更は、妥当な期間(1分未満)で複製する必要があります。
各顧客はサブドメインcustomername.mydomain.comを取得します。どうやらこのサブドメインへのリクエストは、顧客のファイルを含むボックスにルーティングする必要があります。顧客をシステムに追加し、ボックスに動的に割り当てる必要があります。
サーバーのリストを作成して顧客名をハッシュして顧客を割り当てようと考えていましたが、追加ボックスを追加することが難しくなりました。
私たちはAmazonを使ってアプリをホストしています。 S3はソリューションの一部となります。しかし、ファイルコンテンツへの高速ランダムアクセスがないため、S3だけではファイルを存続させることはできません。
ボックスに顧客を割り当てる方法、レプリケーションを管理する方法、サブドメインを適切にルーティングする方法、動的に行う方法を知る必要があります。私たちの好みの言語はJavaですが、他の言語もOKです。
私はこれが大きな問題だと認識しています。すぐに使える解決策はないのですが、もしあればそれを列記してください。
ファイルへのアクセスにはどのようなプロトコルを使用していますか? HTTP? – LawfulHacker
ファイルは、ファイルにアクセスするサーバーに対してローカルである必要があります。私は超高速ランダムアクセスが必要です。 – ccleve
IMOこの質問はあまりにも広すぎます。私はこの問題を解決するために多くの努力を必要とする可能性があります。 – home