0

現在、「ビデオ」プロジェクトにメッセージ キューを使用することを考えています。

ユーザーが動画をアップロードしてからスクリーンショットを作成する動画サービスを想像すると、短い動画のサムネイルとさまざまな動画サイズがスクリプトによって作成されます (現時点では方法は重要ではありません)。とにかく、もっと重要なことは、フロントエンド (Web アップロード サーバー) とバックエンド サーバー (ビデオ処理サーバー) の間の通信です。

したがって、プロセスは次のようになります。

  1. ユーザーがサイトに来る
  2. ユーザーが新しい動画をアップロード
  3. スクリプトをアップロードして、新しいメッセージをメッセージ キューに追加します (ねえ、新しいビデオがあります。処理します)。
  4. この状態で、ユーザーは自分の動画のリストで「アップロード済み」ステータスの動画を見ることができます

これは、私が実際にどうすればよいか分からない部分です。

  1. コンシューマーはメッセージ キューからメッセージを取得し、その処理を開始します。
  2. 消費者はそれがビデオであることを検出します - 今なら失敗します
  3. コンシューマはスクリーンショットを作成し (実行には長い時間がかかります)、コンシューマはスクリーンショットが作成されたことを Web に通知します (??? どうやって ??? - 新しいメッセージをメッセージ キューに入れますか?)
  4. 消費者がビデオのサイズ変更を行います (実行には長い時間がかかります) - 同じ質問です - 消費者はビデオのサイズ変更が行われたことを Web サイトにどのように通知しますか?

したがって、問題はバックエンド サーバーからのメッセージをどのように処理するかです。消費者は別のメッセージをいくつかのログキューに入れ、他の Web 消費者はそれらを処理してデータベースを更新すると思います。そうですか?

4

1 に答える 1

2

2 つのキューを作成するだけです。1 つはジョブ用、もう 1 つは応答用です。

プロセス:

  • ユーザー -> 作業キュー -> ワーカー
  • ワーカー -> メッセージ キュー -> ユーザー

2 番目のコンシューマーは、結果をデータベースに書き込むプロセス、または通知をすぐに送信する WebSocket サーバーなど、あらゆるものになります。

于 2013-11-30T21:03:08.453 に答える