2

トルネードと非同期Webサーバーを調べ始めたところです。竜巻の多くの例では、長いリクエストは次のようなもので処理されます。

  1. tornadoウェブサーバーを呼び出す
  2. tornadoはAPIへの非同期Web呼び出しを行います
  3. コールバックが呼び出されるのを待っている間、tornadoがリクエストを受け取り続けるようにします
  4. コールバックで応答を処理します。サーバーからユーザーへ。

したがって、仮説の目的で、ユーザーがでトルネードサーバーにリクエストを行っていると言います/retrive/retrieve内部APImyapi.com/retrieve_posts_for_user_id/またはw/eにリクエストを送信します。apiリクエストは、リクエストの取得中に実行に1秒かかる場合があります。その後、最終的にtornadoサーバーに応答が返されます。 まず第一に、このフローは竜巻を使用する「通常の」方法ですか?オンラインのコード例の多くはそう示唆しているでしょう。

第二に、(これは私の心が行き詰まり始めているところです)上記のフローが標準的なフローであると仮定すると、非同期である必要myapi.comがありますか?非同期ではなく、リクエストが1つずつ数秒かかる場合は、ブロッキングサーバーと同じボトルネックが発生しませんか?おそらく、竜巻や非同期の通常のユースケースの例は、この問題に光を当てるのに役立つでしょうか?ありがとうございました。

4

1 に答える 1

2

はい、あなたの質問を理解しているので、それは Tornado の通常の使用例です。

Tornado サーバーへのすべてのリクエストが にリクエストを送信しmyapi.commyapi.comブロックしている場合、はい、myapi.com依然としてボトルネックになります。ただし、一部のリクエストのみを で処理する必要がある場合myapi.comでも、Tornado は、 へのリクエストに対する応答を待っている間、そのようなリクエストを処理し続けることができるため、有利myapi.comです。ただしmyapi.com、負荷を処理できない場合は、その前に Tornado サーバーを配置しても、魔法のようにそれを修正することはできません. myapi.com違いは、Tornado サーバーがビジーであってもリクエストに応答できることです。

于 2012-04-20T12:55:17.723 に答える