0

私たちは Openstack クラウド ユーザーの 1 人であり、Swift を使用して多数のファイルをクラウドに保存しています。ユーザー (エンドユーザー) はこれらのファイルにアクセスします。ファイルが公開されている場合、エンドユーザーは Web またはモバイル アプリケーションでオブジェクト URL に直接アクセスできます。ただし、一部のファイルは非公開です。各エンド ユーザーは、自分のプライベート ファイルにのみアクセスできます。

エンドユーザーが自分のプライベート ファイルにアクセスするには、次の 2 つの方法があります。

A. エンドユーザーは常にリクエストをサーバーに送信します。サーバーは Swift からファイルを取得し、ユーザーに送信します。この方法では、当社のサーバーはファイル プロキシと見なすことができます。Openstack の認証があり、ユーザーはサーバーの認証を持っています。独自のユーザーシステムを維持する必要があります。

この方法の問題点の 1 つは、スケーラビリティです。各リクエストはサーバーに送信されるため、多数のファイルが同時にアップロードまたはダウンロードされると、サーバーがボトルネックになります。Swift の高スケーラビリティ機能は、十分な数のサーバーがないと使用できません。実際には、ファイル転送を除いて、多くのサーバーは必要ありません。

B. エンドユーザーがリクエストを Swift に直接送信する。それは巨大なファイル帯域幅の問題を解決するかもしれません. しかし、彼は Openstack の認証方式を持っている必要があります。そのため、私たちは Openstack のユーザーの 1 人にすぎませんが、ユーザーのために何千もの Openstack アカウントが必要です! それは奇妙に思え、実現不可能です。

要件を満たす他の方法はありますか?

4

2 に答える 2

1

サーバーを使用してファイルを取得することもできますが (シナリオ A)、そのサーバーを「クラウド内」に配置します。次に、アクセスをスケールアップする必要があるため、ロード バランサーの下で追加のサーバーをスピンアップします。したがって、必要に応じて負荷を水平に分散しています。

アイデア。

(免責事項: 私は Rackspace の従業員です)

于 2013-12-12T14:57:39.843 に答える