私たちは Openstack クラウド ユーザーの 1 人であり、Swift を使用して多数のファイルをクラウドに保存しています。ユーザー (エンドユーザー) はこれらのファイルにアクセスします。ファイルが公開されている場合、エンドユーザーは Web またはモバイル アプリケーションでオブジェクト URL に直接アクセスできます。ただし、一部のファイルは非公開です。各エンド ユーザーは、自分のプライベート ファイルにのみアクセスできます。
エンドユーザーが自分のプライベート ファイルにアクセスするには、次の 2 つの方法があります。
A. エンドユーザーは常にリクエストをサーバーに送信します。サーバーは Swift からファイルを取得し、ユーザーに送信します。この方法では、当社のサーバーはファイル プロキシと見なすことができます。Openstack の認証があり、ユーザーはサーバーの認証を持っています。独自のユーザーシステムを維持する必要があります。
この方法の問題点の 1 つは、スケーラビリティです。各リクエストはサーバーに送信されるため、多数のファイルが同時にアップロードまたはダウンロードされると、サーバーがボトルネックになります。Swift の高スケーラビリティ機能は、十分な数のサーバーがないと使用できません。実際には、ファイル転送を除いて、多くのサーバーは必要ありません。
B. エンドユーザーがリクエストを Swift に直接送信する。それは巨大なファイル帯域幅の問題を解決するかもしれません. しかし、彼は Openstack の認証方式を持っている必要があります。そのため、私たちは Openstack のユーザーの 1 人にすぎませんが、ユーザーのために何千もの Openstack アカウントが必要です! それは奇妙に思え、実現不可能です。
要件を満たす他の方法はありますか?