1. ホーム
  2. javascript

[解決済み] node.jsとTornadoの違い【終了しました

2023-07-31 23:46:40

質問

node.jsはJSで、TornadoはPythonで書かれているという事実以外に、この2つの違いは何でしょうか? どちらもノンブロッキングの非同期ウェブサーバーですよね? 言語以外でどちらかを選ぶ理由は何ですか?

どのように解決するのですか?

node.jsの主な利点は、以下の通りです。 すべてのライブラリが非同期であること で、ブロックをあまり気にする必要がありません。mysql、postgres、redisなどの非同期ライブラリがあります。デフォルトで全て非同期です。

Pythonはあらゆるもののためのライブラリを持っています - しかし、これらのライブラリのほとんどは非同期ではありません。トルネードを利用する(そして処理をブロックしない)ためには、特別なライブラリが必要です(例えば、単に'pip install redis'で使用することはできません。 ブルックバ のようなものが必要です)、node.jsのライブラリに比べるとtornadoのライブラリはかなり少ないです。例えば、現時点では非同期 mysql 竜巻ドライバはありません (少なくとも私は知りません)。

しかし、多くの python ライブラリが tornado で使用可能であり (i/o を行わないもの)、tornado コミュニティはそのギャップを埋めるべく活動を続けています。

私の経験では、node.js を使ってアプリを書く方が tornado を使うより簡単です。個人的には、node.js から tornado に乗り換えたのは、私の Python プロジェクトの既存のインフラにうまくフィットするからです (html ページを提供する django サイトとリアルタイム機能を提供する tornado サーバーの統合は、非常に苦労がありませんでした)。