2017-02-09 2 views
-2

私はちょうど分散システムについて読んだ初心者です。 私は、各マシンのキューとは対照的に、分散キューのユースケースをいくつか考えています。 たとえば、RabbitMQをさまざまなWebサーバーで使用する方法。ロードバランシングなどでどのように使用されていますか?ユースケースはWebサーバーの分散キューですか?

答えて

1

一部のタスクを処理する前払いコストが高すぎる場合や不要な場合は、通常、分散キューを使用します。たとえば、YouTubeに動画をアップロードする場合、通常は動画がサイトに表示される前に処理されます。現代のウェブでは、処理が行われている間、ユーザが待たなければならないことは容認できない。したがって、ビデオを保存してタスクをキューに置くことで、処理を後で行うことができます。その後、キューをポーリングしている他のマシンは余暇にビデオを処理できます。これは、ユーザーがサイト上で他のことを続行する前にビデオの処理を待つ必要がないことを意味します。また、スループットの高い期間にバッファを使用することも可能です。ユーザーがYouTubeのサーバーで処理できるよりも速く動画をアップロードしている場合、バックエンドのアイテム処理能力とは関係なく、キューが大きくなります。

もう1つの考慮点は、キューの分散性質によりフォールトトレランスが可能になることです。 YouTubeの例では、ウェブサイトでユーザーに返信することができ、ビデオはの最終的にに処理されることをユーザーに保証します。通常、分散キューには設定可能なレプリケーションレベルがあります。アイテムをキューに置くと、n個のノードにレプリケートされることが保証され、失われる可能性は低くなります。

関連する問題